From 2c400f60cad3ac0b9dbf1be06b48675d40fcc824 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Fri, 3 Sep 2010 11:46:21 +0000 Subject: gfid: protocol/xdr changes to handle gfid based fops. Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati Signed-off-by: Vijay Bellur BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971 --- rpc/xdr/src/glusterfs3-xdr.h | 63 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'rpc/xdr/src/glusterfs3-xdr.h') diff --git a/rpc/xdr/src/glusterfs3-xdr.h b/rpc/xdr/src/glusterfs3-xdr.h index 62866bf45a1..bcd293da6e6 100644 --- a/rpc/xdr/src/glusterfs3-xdr.h +++ b/rpc/xdr/src/glusterfs3-xdr.h @@ -241,6 +241,7 @@ gf_flock_from_flock (struct gf_flock *gf_flock, struct flock *flock) } struct gf_iatt { + u_char ia_gfid[16]; u_quad_t ia_ino; u_quad_t ia_gen; u_quad_t ia_dev; @@ -268,6 +269,7 @@ gf_stat_to_iatt (struct gf_iatt *gf_stat, struct iatt *iatt) if (!iatt || !gf_stat) return; + memcpy (iatt->ia_gfid, gf_stat->ia_gfid, 16); iatt->ia_ino = gf_stat->ia_ino ; iatt->ia_gen = gf_stat->ia_gen ; iatt->ia_dev = gf_stat->ia_dev ; @@ -295,6 +297,7 @@ gf_stat_from_iatt (struct gf_iatt *gf_stat, struct iatt *iatt) if (!iatt || !gf_stat) return; + memcpy (gf_stat->ia_gfid, iatt->ia_gfid, 16); gf_stat->ia_ino = iatt->ia_ino ; gf_stat->ia_gen = iatt->ia_gen ; gf_stat->ia_dev = iatt->ia_dev ; @@ -319,6 +322,7 @@ gf_stat_from_iatt (struct gf_iatt *gf_stat, struct iatt *iatt) struct gfs3_stat_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; char *path; @@ -335,6 +339,7 @@ typedef struct gfs3_stat_rsp gfs3_stat_rsp; struct gfs3_readlink_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int size; @@ -353,12 +358,18 @@ typedef struct gfs3_readlink_rsp gfs3_readlink_rsp; struct gfs3_mknod_req { u_quad_t gfs_id; + u_char pargfid[16]; u_quad_t par; u_quad_t gen; u_quad_t dev; u_int mode; char *path; char *bname; + struct { + u_int dict_len; + char *dict_val; + } dict; + }; typedef struct gfs3_mknod_req gfs3_mknod_req; @@ -374,11 +385,16 @@ typedef struct gfs3_mknod_rsp gfs3_mknod_rsp; struct gfs3_mkdir_req { u_quad_t gfs_id; + u_char pargfid[16]; u_quad_t par; u_quad_t gen; u_int mode; char *path; char *bname; + struct { + u_int dict_len; + char *dict_val; + } dict; }; typedef struct gfs3_mkdir_req gfs3_mkdir_req; @@ -394,6 +410,7 @@ typedef struct gfs3_mkdir_rsp gfs3_mkdir_rsp; struct gfs3_unlink_req { u_quad_t gfs_id; + u_char pargfid[16]; u_quad_t par; u_quad_t gen; char *path; @@ -412,6 +429,7 @@ typedef struct gfs3_unlink_rsp gfs3_unlink_rsp; struct gfs3_rmdir_req { u_quad_t gfs_id; + u_char pargfid[16]; u_quad_t par; u_quad_t gen; char *path; @@ -430,11 +448,16 @@ typedef struct gfs3_rmdir_rsp gfs3_rmdir_rsp; struct gfs3_symlink_req { u_quad_t gfs_id; + u_char pargfid[16]; u_quad_t par; u_quad_t gen; char *path; char *bname; char *linkname; + struct { + u_int dict_len; + char *dict_val; + } dict; }; typedef struct gfs3_symlink_req gfs3_symlink_req; @@ -450,6 +473,8 @@ typedef struct gfs3_symlink_rsp gfs3_symlink_rsp; struct gfs3_rename_req { u_quad_t gfs_id; + u_char oldgfid[16]; + u_char newgfid[16]; u_quad_t oldpar; u_quad_t oldgen; u_quad_t newpar; @@ -475,6 +500,8 @@ typedef struct gfs3_rename_rsp gfs3_rename_rsp; struct gfs3_link_req { u_quad_t gfs_id; + u_char oldgfid[16]; + u_char newgfid[16]; u_quad_t oldino; u_quad_t oldgen; u_quad_t newpar; @@ -497,6 +524,7 @@ typedef struct gfs3_link_rsp gfs3_link_rsp; struct gfs3_truncate_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_quad_t offset; @@ -515,6 +543,7 @@ typedef struct gfs3_truncate_rsp gfs3_truncate_rsp; struct gfs3_open_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int flags; @@ -533,6 +562,7 @@ typedef struct gfs3_open_rsp gfs3_open_rsp; struct gfs3_read_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -552,6 +582,8 @@ typedef struct gfs3_read_rsp gfs3_read_rsp; struct gfs3_lookup_req { u_quad_t gfs_id; + u_char gfid[16]; + u_char pargfid[16]; u_quad_t ino; u_quad_t par; u_quad_t gen; @@ -580,6 +612,7 @@ typedef struct gfs3_lookup_rsp gfs3_lookup_rsp; struct gfs3_write_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -599,6 +632,7 @@ typedef struct gfs3_write_rsp gfs3_write_rsp; struct gfs3_statfs_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; char *path; @@ -615,6 +649,7 @@ typedef struct gfs3_statfs_rsp gfs3_statfs_rsp; struct gfs3_lk_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -634,6 +669,7 @@ typedef struct gfs3_lk_rsp gfs3_lk_rsp; struct gfs3_inodelk_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int cmd; @@ -646,6 +682,7 @@ typedef struct gfs3_inodelk_req gfs3_inodelk_req; struct gfs3_finodelk_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -658,6 +695,7 @@ typedef struct gfs3_finodelk_req gfs3_finodelk_req; struct gfs3_flush_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -666,6 +704,7 @@ typedef struct gfs3_flush_req gfs3_flush_req; struct gfs3_fsync_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -684,6 +723,7 @@ typedef struct gfs3_fsync_rsp gfs3_fsync_rsp; struct gfs3_setxattr_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int flags; @@ -697,6 +737,7 @@ typedef struct gfs3_setxattr_req gfs3_setxattr_req; struct gfs3_fsetxattr_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -710,6 +751,7 @@ typedef struct gfs3_fsetxattr_req gfs3_fsetxattr_req; struct gfs3_xattrop_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int flags; @@ -734,6 +776,7 @@ typedef struct gfs3_xattrop_rsp gfs3_xattrop_rsp; struct gfs3_fxattrop_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -758,6 +801,7 @@ typedef struct gfs3_fxattrop_rsp gfs3_fxattrop_rsp; struct gfs3_getxattr_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int namelen; @@ -779,6 +823,7 @@ typedef struct gfs3_getxattr_rsp gfs3_getxattr_rsp; struct gfs3_fgetxattr_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -800,6 +845,7 @@ typedef struct gfs3_fgetxattr_rsp gfs3_fgetxattr_rsp; struct gfs3_removexattr_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; char *path; @@ -809,6 +855,7 @@ typedef struct gfs3_removexattr_req gfs3_removexattr_req; struct gfs3_opendir_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; char *path; @@ -825,6 +872,7 @@ typedef struct gfs3_opendir_rsp gfs3_opendir_rsp; struct gfs3_fsyncdir_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -834,6 +882,7 @@ typedef struct gfs3_fsyncdir_req gfs3_fsyncdir_req; struct gfs3_readdir_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -844,6 +893,7 @@ typedef struct gfs3_readdir_req gfs3_readdir_req; struct gfs3_readdirp_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -874,6 +924,7 @@ typedef struct gf_setvolume_rsp gf_setvolume_rsp; struct gfs3_access_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int mask; @@ -883,12 +934,17 @@ typedef struct gfs3_access_req gfs3_access_req; struct gfs3_create_req { u_quad_t gfs_id; + u_char pargfid[16]; u_quad_t par; u_quad_t gen; u_int flags; u_int mode; char *path; char *bname; + struct { + u_int dict_len; + char *dict_val; + } dict; }; typedef struct gfs3_create_req gfs3_create_req; @@ -905,6 +961,7 @@ typedef struct gfs3_create_rsp gfs3_create_rsp; struct gfs3_ftruncate_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -923,6 +980,7 @@ typedef struct gfs3_ftruncate_rsp gfs3_ftruncate_rsp; struct gfs3_fstat_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -939,6 +997,7 @@ typedef struct gfs3_fstat_rsp gfs3_fstat_rsp; struct gfs3_entrylk_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; u_int cmd; @@ -952,6 +1011,7 @@ typedef struct gfs3_entrylk_req gfs3_entrylk_req; struct gfs3_fentrylk_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -966,6 +1026,7 @@ typedef struct gfs3_fentrylk_req gfs3_fentrylk_req; struct gfs3_setattr_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; struct gf_iatt stbuf; @@ -1062,6 +1123,7 @@ typedef struct gf_notify_rsp gf_notify_rsp; struct gfs3_releasedir_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; @@ -1070,6 +1132,7 @@ typedef struct gfs3_releasedir_req gfs3_releasedir_req; struct gfs3_release_req { u_quad_t gfs_id; + u_char gfid[16]; u_quad_t ino; u_quad_t gen; quad_t fd; -- cgit