diff options
| author | Avra Sengupta <asengupt@redhat.com> | 2013-09-30 16:26:33 +0530 |
|---|---|---|
| committer | Avra Sengupta <asengupt@redhat.com> | 2013-10-10 14:35:36 +0530 |
| commit | 4b466674ebf6c192cb1ce17b367fb9845c68129d (patch) | |
| tree | 51cfa823b8892e5a26e452f0c5897bc79a4860ae /rpc | |
| parent | 5380fc6df4d7b5735e86e46f20c5d9e2254e9774 (diff) | |
cli: snapshot create cli interface.
$ gluster snapshot help
snapshot help - display help for snapshot commands
snapshot create <volnames> [-n <snap-name/cg-name>] [-d <description>] - Snapshot Create.
$ gluster snapshot create vol1
snapshot create: ???: snap created successfully
$ gluster snapshot create vol1 vol2
snapshot create: ???: consistency group created successfully
(The ??? will be replaced by the glusterd snap create command with the
generated snap-name or cg-name)
$ gluster snapshot create vol1 vol2 -n CG1
snapshot create: CG1: consistency group created successfully
$ gluster snapshot create vol1 -n snap1 -d Description
snapshot create: snap1: snap created successfully
$ gluster snapshot create vol1 -n snap1 -d "Description can have -d within quotes"
snapshot create: snap1: snap created successfully
$ gluster snapshot create vol1 -n snap1 -d Description cant have -d without quotes
snapshot create: failed: Options(-n/-d) are not valid descriptions
Usage: snapshot create <volnames> [-n <snap-name/cg-name>] [-d <description>]
$ gluster snapshot create vol1 -n "Multi word snap name" -d Description
snapshot create: failed: Invalid snap name
Usage: snapshot create <volnames> [-n <snap-name/cg-name>] [-d <description>]
$ gluster snapshot create vol1 -d Description -n "-d"
snapshot create: failed: Options(-n/-d) are not valid snap names
Usage: snapshot create <volnames> [-n <snap-name/cg-name>] [-d <description>]
$ gluster snapshot create vol1 -d -n snap1
snapshot create: failed: No description provided
Usage: snapshot create <volnames> [-n <snap-name/cg-name>] [-d <description>]
Change-Id: I74b5a8406d72282fbb7ba7d07e0c7fe395148d38
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Diffstat (limited to 'rpc')
| -rw-r--r-- | rpc/rpc-lib/src/protocol-common.h | 1 | ||||
| -rw-r--r-- | rpc/xdr/src/cli1-xdr.c | 11 | ||||
| -rw-r--r-- | rpc/xdr/src/cli1-xdr.h | 8 | ||||
| -rw-r--r-- | rpc/xdr/src/cli1-xdr.x | 6 |
4 files changed, 26 insertions, 0 deletions
diff --git a/rpc/rpc-lib/src/protocol-common.h b/rpc/rpc-lib/src/protocol-common.h index 5ae5e6223..de9b7422b 100644 --- a/rpc/rpc-lib/src/protocol-common.h +++ b/rpc/rpc-lib/src/protocol-common.h @@ -160,6 +160,7 @@ enum gluster_cli_procnum { GLUSTER_CLI_UUID_GET, GLUSTER_CLI_COPY_FILE, GLUSTER_CLI_SYS_EXEC, + GLUSTER_CLI_SNAP, GLUSTER_CLI_MAXVALUE, }; diff --git a/rpc/xdr/src/cli1-xdr.c b/rpc/xdr/src/cli1-xdr.c index 7d85b43c1..f0f08d334 100644 --- a/rpc/xdr/src/cli1-xdr.c +++ b/rpc/xdr/src/cli1-xdr.c @@ -179,6 +179,17 @@ xdr_gf_cli_status_type (XDR *xdrs, gf_cli_status_type *objp) } bool_t +xdr_gf1_cli_snapshot (XDR *xdrs, gf1_cli_snapshot *objp) +{ + register int32_t *buf; + buf = NULL; + + if (!xdr_enum (xdrs, (enum_t *) objp)) + return FALSE; + return TRUE; +} + +bool_t xdr_gf_cli_req (XDR *xdrs, gf_cli_req *objp) { register int32_t *buf; diff --git a/rpc/xdr/src/cli1-xdr.h b/rpc/xdr/src/cli1-xdr.h index 10453bbb0..524030f7f 100644 --- a/rpc/xdr/src/cli1-xdr.h +++ b/rpc/xdr/src/cli1-xdr.h @@ -168,6 +168,12 @@ enum gf_cli_status_type { }; typedef enum gf_cli_status_type gf_cli_status_type; +enum gf1_cli_snapshot { + GF_SNAP_OPTION_TYPE_NONE = 0, + GF_SNAP_OPTION_TYPE_CREATE = 1, +}; +typedef enum gf1_cli_snapshot gf1_cli_snapshot; + struct gf_cli_req { struct { u_int dict_len; @@ -279,6 +285,7 @@ extern bool_t xdr_gf1_cli_gsync_set (XDR *, gf1_cli_gsync_set*); extern bool_t xdr_gf1_cli_stats_op (XDR *, gf1_cli_stats_op*); extern bool_t xdr_gf1_cli_top_op (XDR *, gf1_cli_top_op*); extern bool_t xdr_gf_cli_status_type (XDR *, gf_cli_status_type*); +extern bool_t xdr_gf1_cli_snapshot (XDR *, gf1_cli_snapshot*); extern bool_t xdr_gf_cli_req (XDR *, gf_cli_req*); extern bool_t xdr_gf_cli_rsp (XDR *, gf_cli_rsp*); extern bool_t xdr_gf1_cli_peer_list_req (XDR *, gf1_cli_peer_list_req*); @@ -307,6 +314,7 @@ extern bool_t xdr_gf1_cli_gsync_set (); extern bool_t xdr_gf1_cli_stats_op (); extern bool_t xdr_gf1_cli_top_op (); extern bool_t xdr_gf_cli_status_type (); +extern bool_t xdr_gf1_cli_snapshot (); extern bool_t xdr_gf_cli_req (); extern bool_t xdr_gf_cli_rsp (); extern bool_t xdr_gf1_cli_peer_list_req (); diff --git a/rpc/xdr/src/cli1-xdr.x b/rpc/xdr/src/cli1-xdr.x index 8018e3034..98c093906 100644 --- a/rpc/xdr/src/cli1-xdr.x +++ b/rpc/xdr/src/cli1-xdr.x @@ -121,6 +121,12 @@ enum gf_cli_status_type { GF_CLI_STATUS_SHD = 0x1000 /*1000000000000*/ }; +/* Identifiers for snapshot clis */ +enum gf1_cli_snapshot { + GF_SNAP_OPTION_TYPE_NONE, + GF_SNAP_OPTION_TYPE_CREATE +}; + struct gf_cli_req { opaque dict<>; } ; |
