summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/lib/src/glusterfs3.x
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2010-06-23 02:55:21 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-06-24 10:32:11 -0700
commite82ca8fc5164f4ba2ff396da86b4a490d9a47370 (patch)
tree1c92b4d4c0a4ad42b2213f17c92ededc45ae89a2 /xlators/protocol/lib/src/glusterfs3.x
parent487e9f1d59bbf7b37a30ceef5dbfd8ca77b94988 (diff)
minor improvements in protocol
* rpc_clnt_submit() now takes 'cbkfn' as an argument. * readdir xdr now uses dirent structure directly instead of using 'opaque' buffer through which it was serializing / unserializing the dirent structure. * 'gfs_id' field (currently used for debugging) is properly updated Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 875 (Implement a new protocol to provide proper backward/forward compatibility) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=875
Diffstat (limited to 'xlators/protocol/lib/src/glusterfs3.x')
-rw-r--r--xlators/protocol/lib/src/glusterfs3.x42
1 files changed, 33 insertions, 9 deletions
diff --git a/xlators/protocol/lib/src/glusterfs3.x b/xlators/protocol/lib/src/glusterfs3.x
index b6cc6e6ab..c9510527c 100644
--- a/xlators/protocol/lib/src/glusterfs3.x
+++ b/xlators/protocol/lib/src/glusterfs3.x
@@ -491,10 +491,40 @@ struct gfs3_finodelk_req {
unsigned hyper offset;
unsigned int size;
};
-struct gfs3_readdir_res {
+struct gfs3_dirlist {
+ unsigned hyper d_ino;
+ unsigned hyper d_off;
+ unsigned int d_len;
+ unsigned int d_type;
+ char *name;
+ struct gfs3_dirlist *nextentry;
+};
+
+struct gfs3_readdir_rsp {
unsigned hyper gfs_id;
- opaque buf<>;
-} ;
+ int op_ret;
+ int op_errno;
+ struct gfs3_dirlist reply;
+};
+
+
+
+struct gfs3_dirplist {
+ unsigned hyper d_ino;
+ unsigned hyper d_off;
+ unsigned int d_len;
+ unsigned int d_type;
+ char *name;
+ struct gf_iatt name_attributes;
+ struct gfs3_dirplist *nextentry;
+};
+
+struct gfs3_readdirp_rsp {
+ unsigned hyper gfs_id;
+ int op_ret;
+ int op_errno;
+ struct gfs3_dirlistp reply;
+};
struct gfs3_readdirp_req {
@@ -505,12 +535,6 @@ struct gfs3_readdir_res {
unsigned hyper offset;
unsigned int size;
} ;
- struct gfs3_readdirp_rsp {
- unsigned hyper gfs_id;
- int op_ret;
- int op_errno;
- opaque buf<>;
-} ;
struct gf_setvolume_req {