From: dwj192 Date: Wed, 9 Sep 2015 01:48:16 +0000 (+0800) Subject: rgw:add --reset-regions for regionmap update X-Git-Tag: v0.94.4~8^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F6163%2Fhead;p=ceph.git rgw:add --reset-regions for regionmap update Fixes: #12964 Signed-off-by: Weijun Duan (cherry picked from commit 95685c19d6f1eab50b903e61273b5351bedc2980) Conflicts: src/rgw/rgw_admin.cc: usage is on cerr in hammer, not cout src/test/cli/radosgw-admin/help.t: remove extra empty line --- diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index dbc26a973c91..64ccca0e31ee 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -165,6 +165,7 @@ void _usage() cerr << " --categories= comma separated list of categories, used in usage show\n"; cerr << " --caps= list of caps (e.g., \"usage=read, write; user=read\"\n"; cerr << " --yes-i-really-mean-it required for certain operations\n"; + cerr << " --reset-regions reset regionmap when regionmap update"; cerr << "\n"; cerr << " := \"YYYY-MM-DD[ hh:mm:ss]\"\n"; cerr << "\nQuota options:\n"; @@ -1143,6 +1144,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; @@ -1315,6 +1317,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)) { @@ -1553,6 +1557,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 33aee1d5eb33..d61c1b4be266 100644 --- a/src/test/cli/radosgw-admin/help.t +++ b/src/test/cli/radosgw-admin/help.t @@ -122,7 +122,7 @@ --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: