diff options
author | Csaba Henk <csaba@gluster.com> | 2011-04-18 17:25:25 +0000 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-04-19 02:30:18 -0700 |
commit | 184fba37889b87c27af90adf357b38fa95f1e78d (patch) | |
tree | f87f0cef7efeac01a7cd0bc520e640928f221004 /rpc | |
parent | cc6d5c66090f576383c26bd0bdefadbcad708435 (diff) |
cli: implement "system:: getwd" command
Signed-off-by: Csaba Henk <csaba@lowlife.hu>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2785 (gsyncd logs on slave side go to /dev/null)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2785
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/rpc-lib/src/protocol-common.h | 1 | ||||
-rw-r--r-- | rpc/xdr/src/cli1-xdr.c | 20 | ||||
-rw-r--r-- | rpc/xdr/src/cli1-xdr.h | 16 | ||||
-rw-r--r-- | rpc/xdr/src/cli1-xdr.x | 12 | ||||
-rw-r--r-- | rpc/xdr/src/cli1.c | 28 | ||||
-rw-r--r-- | rpc/xdr/src/cli1.h | 12 |
6 files changed, 88 insertions, 1 deletions
diff --git a/rpc/rpc-lib/src/protocol-common.h b/rpc/rpc-lib/src/protocol-common.h index 8483fbcf459..a54c29fc55a 100644 --- a/rpc/rpc-lib/src/protocol-common.h +++ b/rpc/rpc-lib/src/protocol-common.h @@ -198,6 +198,7 @@ enum gluster_cli_procnum { GLUSTER_CLI_PROFILE_VOLUME, GLUSTER_CLI_QUOTA, GLUSTER_CLI_TOP_VOLUME, + GLUSTER_CLI_GETWD, GLUSTER_CLI_MAXVALUE, }; diff --git a/rpc/xdr/src/cli1-xdr.c b/rpc/xdr/src/cli1-xdr.c index f1594eb9662..0f5dc98669c 100644 --- a/rpc/xdr/src/cli1-xdr.c +++ b/rpc/xdr/src/cli1-xdr.c @@ -796,3 +796,23 @@ xdr_gf1_cli_stats_volume_rsp (XDR *xdrs, gf1_cli_stats_volume_rsp *objp) return FALSE; return TRUE; } + +bool_t +xdr_gf1_cli_getwd_req (XDR *xdrs, gf1_cli_getwd_req *objp) +{ + if (!xdr_int (xdrs, &objp->unused)) + return FALSE; + return TRUE; +} + +bool_t +xdr_gf1_cli_getwd_rsp (XDR *xdrs, gf1_cli_getwd_rsp *objp) +{ + if (!xdr_int (xdrs, &objp->op_ret)) + return FALSE; + if (!xdr_int (xdrs, &objp->op_errno)) + return FALSE; + if (!xdr_string (xdrs, &objp->wd, ~0)) + return FALSE; + return TRUE; +} diff --git a/rpc/xdr/src/cli1-xdr.h b/rpc/xdr/src/cli1-xdr.h index 0a4b4ebd5f5..96f8def58c7 100644 --- a/rpc/xdr/src/cli1-xdr.h +++ b/rpc/xdr/src/cli1-xdr.h @@ -512,6 +512,18 @@ struct gf1_cli_stats_volume_rsp { }; typedef struct gf1_cli_stats_volume_rsp gf1_cli_stats_volume_rsp; +struct gf1_cli_getwd_req { + int unused; +}; +typedef struct gf1_cli_getwd_req gf1_cli_getwd_req; + +struct gf1_cli_getwd_rsp { + int op_ret; + int op_errno; + char *wd; +}; +typedef struct gf1_cli_getwd_rsp gf1_cli_getwd_rsp; + /* the xdr functions */ #if defined(__STDC__) || defined(__cplusplus) @@ -572,6 +584,8 @@ extern bool_t xdr_gf1_cli_gsync_set_req (XDR *, gf1_cli_gsync_set_req*); extern bool_t xdr_gf1_cli_gsync_set_rsp (XDR *, gf1_cli_gsync_set_rsp*); extern bool_t xdr_gf1_cli_stats_volume_req (XDR *, gf1_cli_stats_volume_req*); extern bool_t xdr_gf1_cli_stats_volume_rsp (XDR *, gf1_cli_stats_volume_rsp*); +extern bool_t xdr_gf1_cli_getwd_req (XDR *, gf1_cli_getwd_req*); +extern bool_t xdr_gf1_cli_getwd_rsp (XDR *, gf1_cli_getwd_rsp*); #else /* K&R C */ extern bool_t xdr_gf1_cluster_type (); @@ -631,6 +645,8 @@ extern bool_t xdr_gf1_cli_gsync_set_req (); extern bool_t xdr_gf1_cli_gsync_set_rsp (); extern bool_t xdr_gf1_cli_stats_volume_req (); extern bool_t xdr_gf1_cli_stats_volume_rsp (); +extern bool_t xdr_gf1_cli_getwd_req (); +extern bool_t xdr_gf1_cli_getwd_rsp (); #endif /* K&R C */ diff --git a/rpc/xdr/src/cli1-xdr.x b/rpc/xdr/src/cli1-xdr.x index fc38cf7b252..99344a94909 100644 --- a/rpc/xdr/src/cli1-xdr.x +++ b/rpc/xdr/src/cli1-xdr.x @@ -57,7 +57,7 @@ enum gf1_cli_stats_op { GF_CLI_STATS_NONE = 0, GF_CLI_STATS_START = 1, GF_CLI_STATS_STOP = 2, - GF_CLI_STATS_INFO = 3 + GF_CLI_STATS_INFO = 3, GF_CLI_STATS_TOP = 4 }; @@ -375,3 +375,13 @@ struct gf1_cli_quota_rsp { string limit_list<>; gf_quota_type type; }; + +struct gf1_cli_getwd_req { + int unused; +} ; + +struct gf1_cli_getwd_rsp { + int op_ret; + int op_errno; + string wd<>; +}; diff --git a/rpc/xdr/src/cli1.c b/rpc/xdr/src/cli1.c index bd3cbf0c7bd..e917929b349 100644 --- a/rpc/xdr/src/cli1.c +++ b/rpc/xdr/src/cli1.c @@ -712,3 +712,31 @@ gf_xdr_from_cli_stats_volume_rsp (struct iovec outmsg, void *args) return xdr_serialize_generic (outmsg, (void *)args, (xdrproc_t)xdr_gf1_cli_stats_volume_rsp); } + +ssize_t +gf_xdr_to_cli_getwd_req (struct iovec inmsg, void *args) +{ + return xdr_to_generic (inmsg, (void *)args, + (xdrproc_t)xdr_gf1_cli_getwd_req); +} + +ssize_t +gf_xdr_from_cli_getwd_req (struct iovec outmsg, void *args) +{ + return xdr_serialize_generic (outmsg, (void *)args, + (xdrproc_t)xdr_gf1_cli_getwd_req); +} + +ssize_t +gf_xdr_to_cli_getwd_rsp (struct iovec inmsg, void *args) +{ + return xdr_to_generic (inmsg, (void *)args, + (xdrproc_t)xdr_gf1_cli_getwd_rsp); +} + +ssize_t +gf_xdr_from_cli_getwd_rsp (struct iovec outmsg, void *args) +{ + return xdr_serialize_generic (outmsg, (void *)args, + (xdrproc_t)xdr_gf1_cli_getwd_rsp); +} diff --git a/rpc/xdr/src/cli1.h b/rpc/xdr/src/cli1.h index 9bc3a196ae5..32e310aae83 100644 --- a/rpc/xdr/src/cli1.h +++ b/rpc/xdr/src/cli1.h @@ -315,4 +315,16 @@ gf_xdr_to_cli_stats_volume_rsp (struct iovec inmsg, void *args); ssize_t gf_xdr_from_cli_stats_volume_rsp (struct iovec outmsg, void *args); + +ssize_t +gf_xdr_to_cli_getwd_req (struct iovec inmsg, void *args); + +ssize_t +gf_xdr_from_cli_getwd_req (struct iovec outmsg, void *args); + +ssize_t +gf_xdr_to_cli_getwd_rsp (struct iovec inmsg, void *args); + +ssize_t +gf_xdr_from_cli_getwd_rsp (struct iovec outmsg, void *args); #endif /* !_CLI1_H */ |