summaryrefslogtreecommitdiffstats
path: root/rpc/xdr
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2011-12-23 10:00:28 +0530
committerAnand Avati <avati@gluster.com>2012-01-25 02:28:07 -0800
commite98752525706fd6d9989367eb84f1a7fc1b81fa4 (patch)
tree178db3b2fa12ad1c492c73124bc0db74f122989d /rpc/xdr
parent49c325d949b2df06572df7dd3825735fb9c8cd6f (diff)
protocol: allow extra data in all the 'fops' over wire
Change-Id: I3920c68b5b317fc4a4acfd26d64d900bf7bd59d1 BUG: 782265 Signed-off-by: Amar Tumballi <amar@gluster.com> Reviewed-on: http://review.gluster.com/2511 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
Diffstat (limited to 'rpc/xdr')
-rw-r--r--rpc/xdr/src/glusterfs3-xdr.c162
-rw-r--r--rpc/xdr/src/glusterfs3-xdr.h308
-rw-r--r--rpc/xdr/src/glusterfs3-xdr.x78
3 files changed, 547 insertions, 1 deletions
diff --git a/rpc/xdr/src/glusterfs3-xdr.c b/rpc/xdr/src/glusterfs3-xdr.c
index a0c6f0b0edd..8cfb42dc8d0 100644
--- a/rpc/xdr/src/glusterfs3-xdr.c
+++ b/rpc/xdr/src/glusterfs3-xdr.c
@@ -251,6 +251,8 @@ xdr_gfs3_stat_req (XDR *xdrs, gfs3_stat_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -266,6 +268,8 @@ xdr_gfs3_stat_rsp (XDR *xdrs, gfs3_stat_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->stat))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -281,6 +285,8 @@ xdr_gfs3_readlink_req (XDR *xdrs, gfs3_readlink_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -298,6 +304,8 @@ xdr_gfs3_readlink_rsp (XDR *xdrs, gfs3_readlink_rsp *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -319,6 +327,8 @@ xdr_gfs3_mknod_req (XDR *xdrs, gfs3_mknod_req *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -338,6 +348,8 @@ xdr_gfs3_mknod_rsp (XDR *xdrs, gfs3_mknod_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -357,6 +369,8 @@ xdr_gfs3_mkdir_req (XDR *xdrs, gfs3_mkdir_req *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -376,6 +390,8 @@ xdr_gfs3_mkdir_rsp (XDR *xdrs, gfs3_mkdir_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -391,6 +407,8 @@ xdr_gfs3_unlink_req (XDR *xdrs, gfs3_unlink_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->bname, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -408,6 +426,8 @@ xdr_gfs3_unlink_rsp (XDR *xdrs, gfs3_unlink_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -425,6 +445,8 @@ xdr_gfs3_rmdir_req (XDR *xdrs, gfs3_rmdir_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->bname, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -442,6 +464,8 @@ xdr_gfs3_rmdir_rsp (XDR *xdrs, gfs3_rmdir_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -461,6 +485,8 @@ xdr_gfs3_symlink_req (XDR *xdrs, gfs3_symlink_req *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -480,6 +506,8 @@ xdr_gfs3_symlink_rsp (XDR *xdrs, gfs3_symlink_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -501,6 +529,8 @@ xdr_gfs3_rename_req (XDR *xdrs, gfs3_rename_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->newbname, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -524,6 +554,8 @@ xdr_gfs3_rename_rsp (XDR *xdrs, gfs3_rename_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postnewparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -543,6 +575,8 @@ xdr_gfs3_link_req (XDR *xdrs, gfs3_link_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->newbname, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -562,6 +596,8 @@ xdr_gfs3_link_rsp (XDR *xdrs, gfs3_link_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -577,6 +613,8 @@ xdr_gfs3_truncate_req (XDR *xdrs, gfs3_truncate_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -594,6 +632,8 @@ xdr_gfs3_truncate_rsp (XDR *xdrs, gfs3_truncate_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->poststat))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -611,6 +651,8 @@ xdr_gfs3_open_req (XDR *xdrs, gfs3_open_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -626,6 +668,8 @@ xdr_gfs3_open_rsp (XDR *xdrs, gfs3_open_rsp *objp)
return FALSE;
if (!xdr_quad_t (xdrs, &objp->fd))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -643,6 +687,8 @@ xdr_gfs3_read_req (XDR *xdrs, gfs3_read_req *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->size))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -660,6 +706,8 @@ xdr_gfs3_read_rsp (XDR *xdrs, gfs3_read_rsp *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->size))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -681,6 +729,8 @@ xdr_gfs3_lookup_req (XDR *xdrs, gfs3_lookup_req *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -700,6 +750,8 @@ xdr_gfs3_lookup_rsp (XDR *xdrs, gfs3_lookup_rsp *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -717,6 +769,8 @@ xdr_gfs3_write_req (XDR *xdrs, gfs3_write_req *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->size))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -734,6 +788,8 @@ xdr_gfs3_write_rsp (XDR *xdrs, gfs3_write_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->poststat))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -747,6 +803,8 @@ xdr_gfs3_statfs_req (XDR *xdrs, gfs3_statfs_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -762,6 +820,8 @@ xdr_gfs3_statfs_rsp (XDR *xdrs, gfs3_statfs_rsp *objp)
return FALSE;
if (!xdr_gf_statfs (xdrs, &objp->statfs))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -781,6 +841,8 @@ xdr_gfs3_lk_req (XDR *xdrs, gfs3_lk_req *objp)
return FALSE;
if (!xdr_gf_proto_flock (xdrs, &objp->flock))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -796,6 +858,8 @@ xdr_gfs3_lk_rsp (XDR *xdrs, gfs3_lk_rsp *objp)
return FALSE;
if (!xdr_gf_proto_flock (xdrs, &objp->flock))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -817,6 +881,8 @@ xdr_gfs3_inodelk_req (XDR *xdrs, gfs3_inodelk_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->volume, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -838,6 +904,8 @@ xdr_gfs3_finodelk_req (XDR *xdrs, gfs3_finodelk_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->volume, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -851,6 +919,8 @@ xdr_gfs3_flush_req (XDR *xdrs, gfs3_flush_req *objp)
return FALSE;
if (!xdr_quad_t (xdrs, &objp->fd))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -866,6 +936,8 @@ xdr_gfs3_fsync_req (XDR *xdrs, gfs3_fsync_req *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->data))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -883,6 +955,8 @@ xdr_gfs3_fsync_rsp (XDR *xdrs, gfs3_fsync_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->poststat))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -900,6 +974,8 @@ xdr_gfs3_setxattr_req (XDR *xdrs, gfs3_setxattr_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -917,6 +993,8 @@ xdr_gfs3_fsetxattr_req (XDR *xdrs, gfs3_fsetxattr_req *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -934,6 +1012,8 @@ xdr_gfs3_xattrop_req (XDR *xdrs, gfs3_xattrop_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -949,6 +1029,8 @@ xdr_gfs3_xattrop_rsp (XDR *xdrs, gfs3_xattrop_rsp *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -966,6 +1048,8 @@ xdr_gfs3_fxattrop_req (XDR *xdrs, gfs3_fxattrop_req *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -981,6 +1065,8 @@ xdr_gfs3_fxattrop_rsp (XDR *xdrs, gfs3_fxattrop_rsp *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -998,6 +1084,8 @@ xdr_gfs3_getxattr_req (XDR *xdrs, gfs3_getxattr_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->name, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1013,6 +1101,8 @@ xdr_gfs3_getxattr_rsp (XDR *xdrs, gfs3_getxattr_rsp *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1030,6 +1120,8 @@ xdr_gfs3_fgetxattr_req (XDR *xdrs, gfs3_fgetxattr_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->name, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1045,6 +1137,8 @@ xdr_gfs3_fgetxattr_rsp (XDR *xdrs, gfs3_fgetxattr_rsp *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1060,6 +1154,8 @@ xdr_gfs3_removexattr_req (XDR *xdrs, gfs3_removexattr_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->name, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1075,6 +1171,8 @@ xdr_gfs3_fremovexattr_req (XDR *xdrs, gfs3_fremovexattr_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->name, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1088,6 +1186,8 @@ xdr_gfs3_opendir_req (XDR *xdrs, gfs3_opendir_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1103,6 +1203,8 @@ xdr_gfs3_opendir_rsp (XDR *xdrs, gfs3_opendir_rsp *objp)
return FALSE;
if (!xdr_quad_t (xdrs, &objp->fd))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1118,6 +1220,8 @@ xdr_gfs3_fsyncdir_req (XDR *xdrs, gfs3_fsyncdir_req *objp)
return FALSE;
if (!xdr_int (xdrs, &objp->data))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1135,6 +1239,8 @@ xdr_gfs3_readdir_req (XDR *xdrs, gfs3_readdir_req *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->size))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1195,6 +1301,8 @@ xdr_gfs3_access_req (XDR *xdrs, gfs3_access_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1216,6 +1324,8 @@ xdr_gfs3_create_req (XDR *xdrs, gfs3_create_req *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1237,6 +1347,8 @@ xdr_gfs3_create_rsp (XDR *xdrs, gfs3_create_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->postparent))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1252,6 +1364,8 @@ xdr_gfs3_ftruncate_req (XDR *xdrs, gfs3_ftruncate_req *objp)
return FALSE;
if (!xdr_u_quad_t (xdrs, &objp->offset))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1269,6 +1383,8 @@ xdr_gfs3_ftruncate_rsp (XDR *xdrs, gfs3_ftruncate_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->poststat))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1282,6 +1398,8 @@ xdr_gfs3_fstat_req (XDR *xdrs, gfs3_fstat_req *objp)
return FALSE;
if (!xdr_quad_t (xdrs, &objp->fd))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1297,6 +1415,8 @@ xdr_gfs3_fstat_rsp (XDR *xdrs, gfs3_fstat_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->stat))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1320,6 +1440,8 @@ xdr_gfs3_entrylk_req (XDR *xdrs, gfs3_entrylk_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->volume, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1343,6 +1465,8 @@ xdr_gfs3_fentrylk_req (XDR *xdrs, gfs3_fentrylk_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->volume, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1360,6 +1484,8 @@ xdr_gfs3_setattr_req (XDR *xdrs, gfs3_setattr_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->path, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1377,6 +1503,8 @@ xdr_gfs3_setattr_rsp (XDR *xdrs, gfs3_setattr_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->statpost))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1392,6 +1520,8 @@ xdr_gfs3_fsetattr_req (XDR *xdrs, gfs3_fsetattr_req *objp)
return FALSE;
if (!xdr_int (xdrs, &objp->valid))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1409,6 +1539,8 @@ xdr_gfs3_fsetattr_rsp (XDR *xdrs, gfs3_fsetattr_rsp *objp)
return FALSE;
if (!xdr_gf_iatt (xdrs, &objp->statpost))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1424,6 +1556,8 @@ xdr_gfs3_rchecksum_req (XDR *xdrs, gfs3_rchecksum_req *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->len))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1451,6 +1585,8 @@ xdr_gfs3_rchecksum_rsp (XDR *xdrs, gfs3_rchecksum_rsp *objp)
}
if (!xdr_bytes (xdrs, (char **)&objp->strong_checksum.strong_checksum_val, (u_int *) &objp->strong_checksum.strong_checksum_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
} else if (xdrs->x_op == XDR_DECODE) {
buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
@@ -1469,6 +1605,8 @@ xdr_gfs3_rchecksum_rsp (XDR *xdrs, gfs3_rchecksum_rsp *objp)
}
if (!xdr_bytes (xdrs, (char **)&objp->strong_checksum.strong_checksum_val, (u_int *) &objp->strong_checksum.strong_checksum_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1480,6 +1618,8 @@ xdr_gfs3_rchecksum_rsp (XDR *xdrs, gfs3_rchecksum_rsp *objp)
return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->strong_checksum.strong_checksum_val, (u_int *) &objp->strong_checksum.strong_checksum_len, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1493,6 +1633,8 @@ xdr_gf_getspec_req (XDR *xdrs, gf_getspec_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->key, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1508,6 +1650,8 @@ xdr_gf_getspec_rsp (XDR *xdrs, gf_getspec_rsp *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->spec, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1532,6 +1676,8 @@ xdr_gf_notify_req (XDR *xdrs, gf_notify_req *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->buf, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1559,6 +1705,8 @@ xdr_gf_notify_rsp (XDR *xdrs, gf_notify_rsp *objp)
}
if (!xdr_string (xdrs, &objp->buf, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
} else if (xdrs->x_op == XDR_DECODE) {
buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
@@ -1577,6 +1725,8 @@ xdr_gf_notify_rsp (XDR *xdrs, gf_notify_rsp *objp)
}
if (!xdr_string (xdrs, &objp->buf, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1588,6 +1738,8 @@ xdr_gf_notify_rsp (XDR *xdrs, gf_notify_rsp *objp)
return FALSE;
if (!xdr_string (xdrs, &objp->buf, ~0))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1601,6 +1753,8 @@ xdr_gfs3_releasedir_req (XDR *xdrs, gfs3_releasedir_req *objp)
return FALSE;
if (!xdr_quad_t (xdrs, &objp->fd))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1614,6 +1768,8 @@ xdr_gfs3_release_req (XDR *xdrs, gfs3_release_req *objp)
return FALSE;
if (!xdr_quad_t (xdrs, &objp->fd))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1627,6 +1783,8 @@ xdr_gf_common_rsp (XDR *xdrs, gf_common_rsp *objp)
return FALSE;
if (!xdr_int (xdrs, &objp->op_errno))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1663,6 +1821,8 @@ xdr_gfs3_readdir_rsp (XDR *xdrs, gfs3_readdir_rsp *objp)
return FALSE;
if (!xdr_pointer (xdrs, (char **)&objp->reply, sizeof (gfs3_dirlist), (xdrproc_t) xdr_gfs3_dirlist))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
@@ -1703,5 +1863,7 @@ xdr_gfs3_readdirp_rsp (XDR *xdrs, gfs3_readdirp_rsp *objp)
return FALSE;
if (!xdr_pointer (xdrs, (char **)&objp->reply, sizeof (gfs3_dirplist), (xdrproc_t) xdr_gfs3_dirplist))
return FALSE;
+ if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
+ return FALSE;
return TRUE;
}
diff --git a/rpc/xdr/src/glusterfs3-xdr.h b/rpc/xdr/src/glusterfs3-xdr.h
index 156608ff314..76b28b7491c 100644
--- a/rpc/xdr/src/glusterfs3-xdr.h
+++ b/rpc/xdr/src/glusterfs3-xdr.h
@@ -94,6 +94,10 @@ typedef struct gf_iatt gf_iatt;
struct gfs3_stat_req {
char gfid[16];
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_stat_req gfs3_stat_req;
@@ -101,6 +105,10 @@ struct gfs3_stat_rsp {
int op_ret;
int op_errno;
struct gf_iatt stat;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_stat_rsp gfs3_stat_rsp;
@@ -108,6 +116,10 @@ struct gfs3_readlink_req {
char gfid[16];
u_int size;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_readlink_req gfs3_readlink_req;
@@ -116,6 +128,10 @@ struct gfs3_readlink_rsp {
int op_errno;
struct gf_iatt buf;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_readlink_rsp gfs3_readlink_rsp;
@@ -129,6 +145,10 @@ struct gfs3_mknod_req {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_mknod_req gfs3_mknod_req;
@@ -138,6 +158,10 @@ struct gfs3_mknod_rsp {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_mknod_rsp gfs3_mknod_rsp;
@@ -150,6 +174,10 @@ struct gfs3_mkdir_req {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_mkdir_req gfs3_mkdir_req;
@@ -159,6 +187,10 @@ struct gfs3_mkdir_rsp {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_mkdir_rsp gfs3_mkdir_rsp;
@@ -166,6 +198,10 @@ struct gfs3_unlink_req {
char pargfid[16];
char *path;
char *bname;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_unlink_req gfs3_unlink_req;
@@ -174,6 +210,10 @@ struct gfs3_unlink_rsp {
int op_errno;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_unlink_rsp gfs3_unlink_rsp;
@@ -182,6 +222,10 @@ struct gfs3_rmdir_req {
int flags;
char *path;
char *bname;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_rmdir_req gfs3_rmdir_req;
@@ -190,6 +234,10 @@ struct gfs3_rmdir_rsp {
int op_errno;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_rmdir_rsp gfs3_rmdir_rsp;
@@ -202,6 +250,10 @@ struct gfs3_symlink_req {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_symlink_req gfs3_symlink_req;
@@ -211,6 +263,10 @@ struct gfs3_symlink_rsp {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_symlink_rsp gfs3_symlink_rsp;
@@ -221,6 +277,10 @@ struct gfs3_rename_req {
char *oldbname;
char *newpath;
char *newbname;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_rename_req gfs3_rename_req;
@@ -232,6 +292,10 @@ struct gfs3_rename_rsp {
struct gf_iatt postoldparent;
struct gf_iatt prenewparent;
struct gf_iatt postnewparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_rename_rsp gfs3_rename_rsp;
@@ -241,6 +305,10 @@ struct gfs3_link_req {
char *oldpath;
char *newpath;
char *newbname;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_link_req gfs3_link_req;
@@ -250,6 +318,10 @@ struct gfs3_link_rsp {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_link_rsp gfs3_link_rsp;
@@ -257,6 +329,10 @@ struct gfs3_truncate_req {
char gfid[16];
u_quad_t offset;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_truncate_req gfs3_truncate_req;
@@ -265,6 +341,10 @@ struct gfs3_truncate_rsp {
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_truncate_rsp gfs3_truncate_rsp;
@@ -273,6 +353,10 @@ struct gfs3_open_req {
u_int flags;
u_int wbflags;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_open_req gfs3_open_req;
@@ -280,6 +364,10 @@ struct gfs3_open_rsp {
int op_ret;
int op_errno;
quad_t fd;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_open_rsp gfs3_open_rsp;
@@ -288,6 +376,10 @@ struct gfs3_read_req {
quad_t fd;
u_quad_t offset;
u_int size;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_read_req gfs3_read_req;
@@ -296,6 +388,10 @@ struct gfs3_read_rsp {
int op_errno;
struct gf_iatt stat;
u_int size;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_read_rsp gfs3_read_rsp;
@@ -309,6 +405,10 @@ struct gfs3_lookup_req {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_lookup_req gfs3_lookup_req;
@@ -321,6 +421,10 @@ struct gfs3_lookup_rsp {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_lookup_rsp gfs3_lookup_rsp;
@@ -329,6 +433,10 @@ struct gfs3_write_req {
quad_t fd;
u_quad_t offset;
u_int size;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_write_req gfs3_write_req;
@@ -337,12 +445,20 @@ struct gfs3_write_rsp {
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_write_rsp gfs3_write_rsp;
struct gfs3_statfs_req {
char gfid[16];
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_statfs_req gfs3_statfs_req;
@@ -350,6 +466,10 @@ struct gfs3_statfs_rsp {
int op_ret;
int op_errno;
struct gf_statfs statfs;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_statfs_rsp gfs3_statfs_rsp;
@@ -359,6 +479,10 @@ struct gfs3_lk_req {
u_int cmd;
u_int type;
struct gf_proto_flock flock;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_lk_req gfs3_lk_req;
@@ -366,6 +490,10 @@ struct gfs3_lk_rsp {
int op_ret;
int op_errno;
struct gf_proto_flock flock;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_lk_rsp gfs3_lk_rsp;
@@ -376,6 +504,10 @@ struct gfs3_inodelk_req {
struct gf_proto_flock flock;
char *path;
char *volume;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_inodelk_req gfs3_inodelk_req;
@@ -386,12 +518,20 @@ struct gfs3_finodelk_req {
u_int type;
struct gf_proto_flock flock;
char *volume;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_finodelk_req gfs3_finodelk_req;
struct gfs3_flush_req {
char gfid[16];
quad_t fd;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_flush_req gfs3_flush_req;
@@ -399,6 +539,10 @@ struct gfs3_fsync_req {
char gfid[16];
quad_t fd;
u_int data;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fsync_req gfs3_fsync_req;
@@ -407,6 +551,10 @@ struct gfs3_fsync_rsp {
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fsync_rsp gfs3_fsync_rsp;
@@ -418,6 +566,10 @@ struct gfs3_setxattr_req {
char *dict_val;
} dict;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_setxattr_req gfs3_setxattr_req;
@@ -429,6 +581,10 @@ struct gfs3_fsetxattr_req {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fsetxattr_req gfs3_fsetxattr_req;
@@ -440,6 +596,10 @@ struct gfs3_xattrop_req {
char *dict_val;
} dict;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_xattrop_req gfs3_xattrop_req;
@@ -450,6 +610,10 @@ struct gfs3_xattrop_rsp {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_xattrop_rsp gfs3_xattrop_rsp;
@@ -461,6 +625,10 @@ struct gfs3_fxattrop_req {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fxattrop_req gfs3_fxattrop_req;
@@ -471,6 +639,10 @@ struct gfs3_fxattrop_rsp {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fxattrop_rsp gfs3_fxattrop_rsp;
@@ -479,6 +651,10 @@ struct gfs3_getxattr_req {
u_int namelen;
char *path;
char *name;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_getxattr_req gfs3_getxattr_req;
@@ -489,6 +665,10 @@ struct gfs3_getxattr_rsp {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_getxattr_rsp gfs3_getxattr_rsp;
@@ -497,6 +677,10 @@ struct gfs3_fgetxattr_req {
quad_t fd;
u_int namelen;
char *name;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fgetxattr_req gfs3_fgetxattr_req;
@@ -507,6 +691,10 @@ struct gfs3_fgetxattr_rsp {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fgetxattr_rsp gfs3_fgetxattr_rsp;
@@ -514,6 +702,10 @@ struct gfs3_removexattr_req {
char gfid[16];
char *path;
char *name;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_removexattr_req gfs3_removexattr_req;
@@ -521,12 +713,20 @@ struct gfs3_fremovexattr_req {
char gfid[16];
quad_t fd;
char *name;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fremovexattr_req gfs3_fremovexattr_req;
struct gfs3_opendir_req {
char gfid[16];
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_opendir_req gfs3_opendir_req;
@@ -534,6 +734,10 @@ struct gfs3_opendir_rsp {
int op_ret;
int op_errno;
quad_t fd;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_opendir_rsp gfs3_opendir_rsp;
@@ -541,6 +745,10 @@ struct gfs3_fsyncdir_req {
char gfid[16];
quad_t fd;
int data;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fsyncdir_req gfs3_fsyncdir_req;
@@ -549,6 +757,10 @@ struct gfs3_readdir_req {
quad_t fd;
u_quad_t offset;
u_int size;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_readdir_req gfs3_readdir_req;
@@ -586,6 +798,10 @@ struct gfs3_access_req {
char gfid[16];
u_int mask;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_access_req gfs3_access_req;
@@ -599,6 +815,10 @@ struct gfs3_create_req {
u_int dict_len;
char *dict_val;
} dict;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_create_req gfs3_create_req;
@@ -609,6 +829,10 @@ struct gfs3_create_rsp {
u_quad_t fd;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_create_rsp gfs3_create_rsp;
@@ -616,6 +840,10 @@ struct gfs3_ftruncate_req {
char gfid[16];
quad_t fd;
u_quad_t offset;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_ftruncate_req gfs3_ftruncate_req;
@@ -624,12 +852,20 @@ struct gfs3_ftruncate_rsp {
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_ftruncate_rsp gfs3_ftruncate_rsp;
struct gfs3_fstat_req {
char gfid[16];
quad_t fd;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fstat_req gfs3_fstat_req;
@@ -637,6 +873,10 @@ struct gfs3_fstat_rsp {
int op_ret;
int op_errno;
struct gf_iatt stat;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fstat_rsp gfs3_fstat_rsp;
@@ -648,6 +888,10 @@ struct gfs3_entrylk_req {
char *path;
char *name;
char *volume;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_entrylk_req gfs3_entrylk_req;
@@ -659,6 +903,10 @@ struct gfs3_fentrylk_req {
u_quad_t namelen;
char *name;
char *volume;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fentrylk_req gfs3_fentrylk_req;
@@ -667,6 +915,10 @@ struct gfs3_setattr_req {
struct gf_iatt stbuf;
int valid;
char *path;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_setattr_req gfs3_setattr_req;
@@ -675,6 +927,10 @@ struct gfs3_setattr_rsp {
int op_errno;
struct gf_iatt statpre;
struct gf_iatt statpost;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_setattr_rsp gfs3_setattr_rsp;
@@ -682,6 +938,10 @@ struct gfs3_fsetattr_req {
quad_t fd;
struct gf_iatt stbuf;
int valid;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fsetattr_req gfs3_fsetattr_req;
@@ -690,6 +950,10 @@ struct gfs3_fsetattr_rsp {
int op_errno;
struct gf_iatt statpre;
struct gf_iatt statpost;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_fsetattr_rsp gfs3_fsetattr_rsp;
@@ -697,6 +961,10 @@ struct gfs3_rchecksum_req {
quad_t fd;
u_quad_t offset;
u_int len;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_rchecksum_req gfs3_rchecksum_req;
@@ -708,12 +976,20 @@ struct gfs3_rchecksum_rsp {
u_int strong_checksum_len;
char *strong_checksum_val;
} strong_checksum;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_rchecksum_rsp gfs3_rchecksum_rsp;
struct gf_getspec_req {
u_int flags;
char *key;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gf_getspec_req gf_getspec_req;
@@ -721,6 +997,10 @@ struct gf_getspec_rsp {
int op_ret;
int op_errno;
char *spec;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gf_getspec_rsp gf_getspec_rsp;
@@ -735,6 +1015,10 @@ typedef struct gf_log_req gf_log_req;
struct gf_notify_req {
u_int flags;
char *buf;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gf_notify_req gf_notify_req;
@@ -743,24 +1027,40 @@ struct gf_notify_rsp {
int op_errno;
u_int flags;
char *buf;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gf_notify_rsp gf_notify_rsp;
struct gfs3_releasedir_req {
char gfid[16];
quad_t fd;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_releasedir_req gfs3_releasedir_req;
struct gfs3_release_req {
char gfid[16];
quad_t fd;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_release_req gfs3_release_req;
struct gf_common_rsp {
int op_ret;
int op_errno;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gf_common_rsp gf_common_rsp;
@@ -778,6 +1078,10 @@ struct gfs3_readdir_rsp {
int op_ret;
int op_errno;
struct gfs3_dirlist *reply;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_readdir_rsp gfs3_readdir_rsp;
@@ -800,6 +1104,10 @@ struct gfs3_readdirp_rsp {
int op_ret;
int op_errno;
struct gfs3_dirplist *reply;
+ struct {
+ u_int xdata_len;
+ char *xdata_val;
+ } xdata;
};
typedef struct gfs3_readdirp_rsp gfs3_readdirp_rsp;
diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x
index 88a621034d5..8f8e354a120 100644
--- a/rpc/xdr/src/glusterfs3-xdr.x
+++ b/rpc/xdr/src/glusterfs3-xdr.x
@@ -46,12 +46,13 @@ struct gf_iatt {
struct gfs3_stat_req {
opaque gfid[16];
string path<>; /* NULL terminated */
-
+ opaque xdata<>; /* Extra data */
};
struct gfs3_stat_rsp {
int op_ret;
int op_errno;
struct gf_iatt stat;
+ opaque xdata<>; /* Extra data */
} ;
@@ -59,12 +60,14 @@ struct gfs3_readlink_req {
opaque gfid[16];
unsigned int size;
string path<>; /* NULL terminated */
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_readlink_rsp {
int op_ret;
int op_errno;
struct gf_iatt buf;
string path<>; /* NULL terminated */
+ opaque xdata<>; /* Extra data */
} ;
@@ -75,6 +78,7 @@ struct gfs3_readlink_req {
string path<>; /* NULL terminated */
string bname<>; /* NULL terminated */
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_mknod_rsp {
int op_ret;
@@ -82,6 +86,7 @@ struct gfs3_readlink_req {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ opaque xdata<>; /* Extra data */
};
@@ -91,6 +96,7 @@ struct gfs3_readlink_req {
string path<>; /* NULL terminated */
string bname<>; /* NULL terminated */
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_mkdir_rsp {
int op_ret;
@@ -98,6 +104,7 @@ struct gfs3_readlink_req {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ opaque xdata<>; /* Extra data */
} ;
@@ -105,12 +112,14 @@ struct gfs3_readlink_req {
opaque pargfid[16];
string path<>; /* NULL terminated */
string bname<>; /* NULL terminated */
+ opaque xdata<>; /* Extra data */
};
struct gfs3_unlink_rsp {
int op_ret;
int op_errno;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ opaque xdata<>; /* Extra data */
};
@@ -119,12 +128,14 @@ struct gfs3_readlink_req {
int flags;
string path<>;
string bname<>; /* NULL terminated */
+ opaque xdata<>; /* Extra data */
};
struct gfs3_rmdir_rsp {
int op_ret;
int op_errno;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ opaque xdata<>; /* Extra data */
};
@@ -134,6 +145,7 @@ struct gfs3_readlink_req {
string bname<>;
string linkname<>;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_symlink_rsp {
int op_ret;
@@ -141,6 +153,7 @@ struct gfs3_readlink_req {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ opaque xdata<>; /* Extra data */
};
@@ -151,6 +164,7 @@ struct gfs3_readlink_req {
string oldbname<>; /* NULL terminated */
string newpath<>;
string newbname<>; /* NULL terminated */
+ opaque xdata<>; /* Extra data */
};
struct gfs3_rename_rsp {
int op_ret;
@@ -160,6 +174,7 @@ struct gfs3_readlink_req {
struct gf_iatt postoldparent;
struct gf_iatt prenewparent;
struct gf_iatt postnewparent;
+ opaque xdata<>; /* Extra data */
};
@@ -169,6 +184,7 @@ struct gfs3_readlink_req {
string oldpath<>;
string newpath<>;
string newbname<>;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_link_rsp {
int op_ret;
@@ -176,18 +192,21 @@ struct gfs3_readlink_req {
struct gf_iatt stat;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_truncate_req {
opaque gfid[16];
unsigned hyper offset;
string path<>;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_truncate_rsp {
int op_ret;
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ opaque xdata<>; /* Extra data */
};
@@ -196,11 +215,13 @@ struct gfs3_readlink_req {
unsigned int flags;
unsigned int wbflags;
string path<>;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_open_rsp {
int op_ret;
int op_errno;
hyper fd;
+ opaque xdata<>; /* Extra data */
};
@@ -209,12 +230,14 @@ struct gfs3_readlink_req {
hyper fd;
unsigned hyper offset;
unsigned int size;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_read_rsp {
int op_ret;
int op_errno;
struct gf_iatt stat;
unsigned int size;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_lookup_req {
@@ -224,6 +247,7 @@ struct gfs3_lookup_req {
string path<>;
string bname<>;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_lookup_rsp {
int op_ret;
@@ -231,6 +255,7 @@ struct gfs3_lookup_req {
struct gf_iatt stat;
struct gf_iatt postparent;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -240,23 +265,27 @@ struct gfs3_lookup_req {
hyper fd;
unsigned hyper offset;
unsigned int size;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_write_rsp {
int op_ret;
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_statfs_req {
opaque gfid[16];
string path<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_statfs_rsp {
int op_ret;
int op_errno;
struct gf_statfs statfs;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_lk_req {
@@ -265,11 +294,13 @@ struct gfs3_lookup_req {
unsigned int cmd;
unsigned int type;
struct gf_proto_flock flock;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_lk_rsp {
int op_ret;
int op_errno;
struct gf_proto_flock flock;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_inodelk_req {
@@ -279,6 +310,7 @@ struct gfs3_lookup_req {
struct gf_proto_flock flock;
string path<>;
string volume<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_finodelk_req {
@@ -288,12 +320,14 @@ struct gfs3_finodelk_req {
unsigned int type;
struct gf_proto_flock flock;
string volume<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_flush_req {
opaque gfid[16];
hyper fd;
+ opaque xdata<>; /* Extra data */
} ;
@@ -301,12 +335,14 @@ struct gfs3_finodelk_req {
opaque gfid[16];
hyper fd;
unsigned int data;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fsync_rsp {
int op_ret;
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ opaque xdata<>; /* Extra data */
} ;
@@ -315,6 +351,7 @@ struct gfs3_finodelk_req {
unsigned int flags;
opaque dict<>;
string path<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -324,6 +361,7 @@ struct gfs3_finodelk_req {
hyper fd;
unsigned int flags;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -333,12 +371,14 @@ struct gfs3_finodelk_req {
unsigned int flags;
opaque dict<>;
string path<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_xattrop_rsp {
int op_ret;
int op_errno;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -347,12 +387,14 @@ struct gfs3_finodelk_req {
hyper fd;
unsigned int flags;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fxattrop_rsp {
int op_ret;
int op_errno;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -361,11 +403,13 @@ struct gfs3_finodelk_req {
unsigned int namelen;
string path<>;
string name<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_getxattr_rsp {
int op_ret;
int op_errno;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -374,11 +418,13 @@ struct gfs3_finodelk_req {
hyper fd;
unsigned int namelen;
string name<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fgetxattr_rsp {
int op_ret;
int op_errno;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -386,12 +432,14 @@ struct gfs3_finodelk_req {
opaque gfid[16];
string path<>;
string name<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fremovexattr_req {
opaque gfid[16];
hyper fd;
string name<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -399,11 +447,13 @@ struct gfs3_finodelk_req {
struct gfs3_opendir_req {
opaque gfid[16];
string path<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_opendir_rsp {
int op_ret;
int op_errno;
hyper fd;
+ opaque xdata<>; /* Extra data */
} ;
@@ -411,6 +461,7 @@ struct gfs3_finodelk_req {
opaque gfid[16];
hyper fd;
int data;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_readdir_req {
@@ -418,6 +469,7 @@ struct gfs3_finodelk_req {
hyper fd;
unsigned hyper offset;
unsigned int size;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_readdirp_req {
@@ -442,6 +494,7 @@ struct gfs3_access_req {
opaque gfid[16];
unsigned int mask;
string path<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -452,6 +505,7 @@ struct gfs3_create_req {
string path<>;
string bname<>;
opaque dict<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_create_rsp {
int op_ret;
@@ -460,6 +514,7 @@ struct gfs3_create_rsp {
unsigned hyper fd;
struct gf_iatt preparent;
struct gf_iatt postparent;
+ opaque xdata<>; /* Extra data */
} ;
@@ -468,23 +523,27 @@ struct gfs3_ftruncate_req {
opaque gfid[16];
hyper fd;
unsigned hyper offset;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_ftruncate_rsp {
int op_ret;
int op_errno;
struct gf_iatt prestat;
struct gf_iatt poststat;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fstat_req {
opaque gfid[16];
hyper fd;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fstat_rsp {
int op_ret;
int op_errno;
struct gf_iatt stat;
+ opaque xdata<>; /* Extra data */
} ;
@@ -497,6 +556,7 @@ struct gfs3_fstat_req {
string path<>;
string name<>;
string volume<>;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_fentrylk_req {
@@ -507,6 +567,7 @@ struct gfs3_fstat_req {
unsigned hyper namelen;
string name<>;
string volume<>;
+ opaque xdata<>; /* Extra data */
};
@@ -515,47 +576,55 @@ struct gfs3_fstat_req {
struct gf_iatt stbuf;
int valid;
string path<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_setattr_rsp {
int op_ret;
int op_errno;
struct gf_iatt statpre;
struct gf_iatt statpost;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fsetattr_req {
hyper fd;
struct gf_iatt stbuf;
int valid;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_fsetattr_rsp {
int op_ret;
int op_errno;
struct gf_iatt statpre;
struct gf_iatt statpost;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_rchecksum_req {
hyper fd;
unsigned hyper offset;
unsigned int len;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_rchecksum_rsp {
int op_ret;
int op_errno;
unsigned int weak_checksum;
opaque strong_checksum<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gf_getspec_req {
unsigned int flags;
string key<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gf_getspec_rsp {
int op_ret;
int op_errno;
string spec<>;
+ opaque xdata<>; /* Extra data */
} ;
@@ -566,27 +635,32 @@ struct gfs3_fstat_req {
struct gf_notify_req {
unsigned int flags;
string buf<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gf_notify_rsp {
int op_ret;
int op_errno;
unsigned int flags;
string buf<>;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_releasedir_req {
opaque gfid[16];
hyper fd;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_release_req {
opaque gfid[16];
hyper fd;
+ opaque xdata<>; /* Extra data */
} ;
struct gf_common_rsp {
int op_ret;
int op_errno;
+ opaque xdata<>; /* Extra data */
} ;
struct gfs3_dirlist {
@@ -603,6 +677,7 @@ struct gfs3_readdir_rsp {
int op_ret;
int op_errno;
struct gfs3_dirlist *reply;
+ opaque xdata<>; /* Extra data */
};
struct gfs3_dirplist {
@@ -620,5 +695,6 @@ struct gfs3_readdirp_rsp {
int op_ret;
int op_errno;
struct gfs3_dirplist *reply;
+ opaque xdata<>; /* Extra data */
};