From 95685c19d6f1eab50b903e61273b5351bedc2980 Mon Sep 17 00:00:00 2001 From: dwj192 Date: Wed, 9 Sep 2015 09:48:16 +0800 Subject: [PATCH] rgw:add --reset-regions for regionmap update Fixes: #12964 Signed-off-by: Weijun Duan --- src/rgw/rgw_admin.cc | 8 ++++++++ src/test/cli/radosgw-admin/help.t | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 1140cbdbbc5f8..15aedaa9bba29 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -165,6 +165,7 @@ void _usage() cout << " --categories= comma separated list of categories, used in usage show\n"; cout << " --caps= list of caps (e.g., \"usage=read, write; user=read\"\n"; cout << " --yes-i-really-mean-it required for certain operations\n"; + cout << " --reset-regions reset regionmap when regionmap update"; cout << "\n"; cout << " := \"YYYY-MM-DD[ hh:mm:ss]\"\n"; cout << "\nQuota options:\n"; @@ -1142,6 +1143,7 @@ int main(int argc, char **argv) int include_all = false; int sync_stats = false; + int reset_regions = false; uint64_t min_rewrite_size = 4 * 1024 * 1024; uint64_t max_rewrite_size = ULLONG_MAX; @@ -1314,6 +1316,8 @@ int main(int argc, char **argv) // do nothing } else if (ceph_argparse_binary_flag(args, i, &include_all, NULL, "--include-all", (char*)NULL)) { // do nothing + } else if (ceph_argparse_binary_flag(args, i, &reset_regions, NULL, "--reset-regions", (char*)NULL)) { + // do nothing } else if (ceph_argparse_witharg(args, i, &val, "--caps", (char*)NULL)) { caps = val; } else if (ceph_argparse_witharg(args, i, &val, "-i", "--infile", (char*)NULL)) { @@ -1552,6 +1556,10 @@ int main(int argc, char **argv) return -ret; } + if (reset_regions) { + regionmap.regions.clear(); + } + for (list::iterator iter = regions.begin(); iter != regions.end(); ++iter) { ret = region.read_info(*iter); if (ret < 0) { diff --git a/src/test/cli/radosgw-admin/help.t b/src/test/cli/radosgw-admin/help.t index 33aee1d5eb332..e2a8447e26213 100644 --- a/src/test/cli/radosgw-admin/help.t +++ b/src/test/cli/radosgw-admin/help.t @@ -122,7 +122,8 @@ --categories= comma separated list of categories, used in usage show --caps= list of caps (e.g., "usage=read, write; user=read" --yes-i-really-mean-it required for certain operations - + --reset-regions reset regionmap when regionmap update + := "YYYY-MM-DD[ hh:mm:ss]" Quota options: -- 2.39.5