From 1df4a89de17e44c8c1f9b4794a7b8c2741f2bc2e Mon Sep 17 00:00:00 2001 From: Avra Sengupta Date: Wed, 27 Jul 2016 16:28:44 +0530 Subject: snapshot: Display number of snapshots in volume info Display number of snapshots in a volume in volume info output. This number gets modified, with create, delete, and restore operations. Change-Id: Ic9b7c2b6950980f8ce75ca362998c097ea7c863d BUG: 1360693 Signed-off-by: Avra Sengupta Reviewed-on: http://review.gluster.org/15029 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Rajesh Joseph --- cli/src/cli-rpc-ops.c | 7 +++++++ cli/src/cli-xml-output.c | 12 ++++++++++++ 2 files changed, 19 insertions(+) (limited to 'cli/src') diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 3ea918a8cba..0bf03bceaa2 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -780,6 +780,7 @@ gf_cli_get_volume_cbk (struct rpc_req *req, struct iovec *iov, int32_t disperse_count = 0; int32_t redundancy_count = 0; int32_t arbiter_count = 0; + int32_t snap_count = 0; int32_t vol_type = 0; int32_t transport = 0; char *volume_id_str = NULL; @@ -967,6 +968,11 @@ xml_output: if (ret) goto out; + snprintf (key, 256, "volume%d.snap_count", i); + ret = dict_get_int32 (dict, key, &snap_count); + if (ret) + goto out; + vol_type = type; // Distributed (stripe/replicate/stripe-replica) setups @@ -978,6 +984,7 @@ xml_output: cli_out ("Type: %s", cli_vol_type_str[vol_type]); cli_out ("Volume ID: %s", volume_id_str); cli_out ("Status: %s", cli_vol_status_str[status]); + cli_out ("Snapshot Count: %d", snap_count); #ifdef HAVE_BD_XLATOR k = 0; diff --git a/cli/src/cli-xml-output.c b/cli/src/cli-xml-output.c index 8ef12b9a3c9..35b739c0f62 100644 --- a/cli/src/cli-xml-output.c +++ b/cli/src/cli-xml-output.c @@ -2551,6 +2551,7 @@ cli_xml_output_vol_info (cli_local_t *local, dict_t *dict) int stripe_count = 0; int replica_count = 0; int arbiter_count = 0; + int snap_count = 0; int isArbiter = 0; int disperse_count = 0; int redundancy_count = 0; @@ -2630,6 +2631,17 @@ cli_xml_output_vol_info (cli_local_t *local, dict_t *dict) cli_vol_status_str[status]); XML_RET_CHECK_AND_GOTO (ret, out); + memset (key, 0, sizeof (key)); + snprintf (key, sizeof (key), "volume%d.snap_count", i); + ret = dict_get_int32 (dict, key, &snap_count); + if (ret) + goto out; + ret = xmlTextWriterWriteFormatElement (local->writer, + (xmlChar *)"snapshotCount", + "%d", snap_count); + XML_RET_CHECK_AND_GOTO (ret, out); + + memset (key, 0, sizeof (key)); snprintf (key, sizeof (key), "volume%d.brick_count", i); ret = dict_get_int32 (dict, key, &brick_count); -- cgit