From c85998fec484a0060c2a7cbcbf7ed42a109c6478 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Wed, 7 Jul 2010 08:05:58 +0000 Subject: make DUMP as another program * on server side, make it a rpc program. * on client its another program at protocol Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati 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 --- xlators/protocol/lib/src/glusterfs-xdr.c | 32 ------------------------------ xlators/protocol/lib/src/glusterfs-xdr.h | 23 --------------------- xlators/protocol/lib/src/glusterfs3.x | 21 ++++++++++---------- xlators/protocol/lib/src/msg-xdr.c | 32 ------------------------------ xlators/protocol/lib/src/msg-xdr.h | 12 ----------- xlators/protocol/lib/src/protocol-common.h | 1 - 6 files changed, 11 insertions(+), 110 deletions(-) (limited to 'xlators/protocol/lib') diff --git a/xlators/protocol/lib/src/glusterfs-xdr.c b/xlators/protocol/lib/src/glusterfs-xdr.c index cbc4d7cef47..92b8c2ed247 100644 --- a/xlators/protocol/lib/src/glusterfs-xdr.c +++ b/xlators/protocol/lib/src/glusterfs-xdr.c @@ -1666,38 +1666,6 @@ xdr_gf_common_rsp (XDR *xdrs, gf_common_rsp *objp) } -bool_t -xdr_gf_dump_version_req (XDR *xdrs, gf_dump_version_req *objp) -{ - - if (!xdr_u_quad_t (xdrs, &objp->gfs_id)) - return FALSE; - if (!xdr_u_int (xdrs, &objp->flags)) - return FALSE; - if (!xdr_string (xdrs, &objp->key, ~0)) - return FALSE; - return TRUE; -} - -bool_t -xdr_gf_dump_version_rsp (XDR *xdrs, gf_dump_version_rsp *objp) -{ - - if (!xdr_u_quad_t (xdrs, &objp->gfs_id)) - return FALSE; - if (!xdr_int (xdrs, &objp->op_ret)) - return FALSE; - if (!xdr_int (xdrs, &objp->op_errno)) - return FALSE; - if (!xdr_u_int (xdrs, &objp->flags)) - return FALSE; - if (!xdr_bytes (xdrs, (char **)&objp->msg.msg_val, (u_int *) &objp->msg.msg_len, ~0)) - return FALSE; - return TRUE; -} - - - bool_t xdr_gfs3_dirlist (XDR *xdrs, gfs3_dirlist *objp) { diff --git a/xlators/protocol/lib/src/glusterfs-xdr.h b/xlators/protocol/lib/src/glusterfs-xdr.h index 45ce3ff9bed..a3afe8861ac 100644 --- a/xlators/protocol/lib/src/glusterfs-xdr.h +++ b/xlators/protocol/lib/src/glusterfs-xdr.h @@ -1063,25 +1063,6 @@ struct gf_common_rsp { }; typedef struct gf_common_rsp gf_common_rsp; -struct gf_dump_version_req { - u_quad_t gfs_id; - u_int flags; - char *key; -}; -typedef struct gf_dump_version_req gf_dump_version_req; - -struct gf_dump_version_rsp { - u_quad_t gfs_id; - int op_ret; - int op_errno; - u_int flags; - struct { - u_int msg_len; - char *msg_val; - } msg; -}; -typedef struct gf_dump_version_rsp gf_dump_version_rsp; - struct gfs3_dirlist { u_quad_t d_ino; u_quad_t d_off; @@ -1208,8 +1189,6 @@ extern bool_t xdr_gf_notify_rsp (XDR *, gf_notify_rsp*); extern bool_t xdr_gfs3_releasedir_req (XDR *, gfs3_releasedir_req*); extern bool_t xdr_gfs3_release_req (XDR *, gfs3_release_req*); extern bool_t xdr_gf_common_rsp (XDR *, gf_common_rsp*); -extern bool_t xdr_gf_dump_version_req (XDR *, gf_dump_version_req *); -extern bool_t xdr_gf_dump_version_rsp (XDR *, gf_dump_version_rsp *); #else /* K&R C */ extern bool_t xdr_gf_statfs (); @@ -1297,8 +1276,6 @@ extern bool_t xdr_gf_log_req (); extern bool_t xdr_gf_notify_req (); extern bool_t xdr_gf_notify_rsp (); extern bool_t xdr_gf_common_rsp (); -extern bool_t xdr_gf_dump_version_req (); -extern bool_t xdr_gf_dump_version_rsp (); #endif /* K&R C */ diff --git a/xlators/protocol/lib/src/glusterfs3.x b/xlators/protocol/lib/src/glusterfs3.x index b2eb9556c02..cafe965efaf 100644 --- a/xlators/protocol/lib/src/glusterfs3.x +++ b/xlators/protocol/lib/src/glusterfs3.x @@ -732,19 +732,20 @@ struct gf_common_rsp { } ; -struct gf_dump_version_req { - unsigned hyper gfs_id; - unsigned int flags; - string key<>; +struct gf_dump_req { + unsigned hyper gfs_id; }; +struct gf_prog_detail { + string progname<>; + unsigned hyper prognum; + unsigned hyper progver; + struct gf_prog_detail *next; +}; -struct gf_dump_version_rsp { - unsigned hyper gfs_id; - int op_ret; - int op_errno; - unsigned int flags; - opaque msg<>; +struct gf_dump_rsp { + unsigned hyper gfs_id; + struct gf_prog_detail *prog; }; struct auth_glusterfs_parms { diff --git a/xlators/protocol/lib/src/msg-xdr.c b/xlators/protocol/lib/src/msg-xdr.c index 3fe5ad5f65d..9227e715fd3 100644 --- a/xlators/protocol/lib/src/msg-xdr.c +++ b/xlators/protocol/lib/src/msg-xdr.c @@ -340,24 +340,6 @@ xdr_serialize_ftruncate_rsp (struct iovec outmsg, void *rsp) } -ssize_t -xdr_serialize_dump_version_rsp (struct iovec outmsg, void *rsp) -{ - return xdr_serialize_generic (outmsg, (void *)rsp, - (xdrproc_t)xdr_gf_dump_version_rsp); -} - - -/* Decode */ - - -ssize_t -xdr_to_dump_version_req (struct iovec inmsg, void *args) -{ - return xdr_to_generic (inmsg, (void *)args, - (xdrproc_t)xdr_gf_dump_version_req); -} - ssize_t xdr_to_lookup_req (struct iovec inmsg, void *args) { @@ -958,13 +940,6 @@ xdr_from_setvolume_req (struct iovec outmsg, void *req) return xdr_serialize_generic (outmsg, (void *)req, (xdrproc_t)xdr_gf_setvolume_req); -} -ssize_t -xdr_from_dump_version_req (struct iovec outmsg, void *req) -{ - return xdr_serialize_generic (outmsg, (void *)req, - (xdrproc_t)xdr_gf_dump_version_req); - } ssize_t xdr_from_rmdir_req (struct iovec outmsg, void *req) @@ -1205,13 +1180,6 @@ xdr_to_setvolume_rsp (struct iovec outmsg, void *rsp) return xdr_to_generic (outmsg, (void *)rsp, (xdrproc_t)xdr_gf_setvolume_rsp); -} -ssize_t -xdr_to_dump_version_rsp (struct iovec outmsg, void *rsp) -{ - return xdr_to_generic (outmsg, (void *)rsp, - (xdrproc_t)xdr_gf_dump_version_rsp); - } ssize_t xdr_to_rmdir_rsp (struct iovec outmsg, void *rsp) diff --git a/xlators/protocol/lib/src/msg-xdr.h b/xlators/protocol/lib/src/msg-xdr.h index 59b6ca30112..025b7f8c717 100644 --- a/xlators/protocol/lib/src/msg-xdr.h +++ b/xlators/protocol/lib/src/msg-xdr.h @@ -405,24 +405,12 @@ xdr_from_releasedir_req (struct iovec outmsg, void *args); ssize_t xdr_from_release_req (struct iovec outmsg, void *args); -ssize_t -xdr_from_dump_version_req (struct iovec outmsg, void *args); - ssize_t xdr_from_setvolume_req (struct iovec outmsg, void *args); ssize_t xdr_to_setvolume_rsp (struct iovec inmsg, void *args); -ssize_t -xdr_to_dump_version_rsp (struct iovec inmsg, void *args); - - -ssize_t -xdr_serialize_dump_version_rsp (struct iovec outmsg, void *args); - -ssize_t -xdr_to_dump_version_req (struct iovec inmsg, void *args); ssize_t diff --git a/xlators/protocol/lib/src/protocol-common.h b/xlators/protocol/lib/src/protocol-common.h index 5590960a6d9..78ee2581fdf 100644 --- a/xlators/protocol/lib/src/protocol-common.h +++ b/xlators/protocol/lib/src/protocol-common.h @@ -69,7 +69,6 @@ enum gf_fop_procnum { enum gf_handshake_procnum { GF_HNDSK_NULL, - GF_HNDSK_DUMP_VERSION, GF_HNDSK_SETVOLUME, GF_HNDSK_GETSPEC, GF_HNDSK_PING, -- cgit