]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw:add --reset-regions for regionmap update 6163/head
authordwj192 <duanweijun@h3c.com>
Wed, 9 Sep 2015 01:48:16 +0000 (09:48 +0800)
committerLoic Dachary <ldachary@redhat.com>
Sat, 3 Oct 2015 07:52:45 +0000 (09:52 +0200)
Fixes: #12964
Signed-off-by: Weijun Duan <duanweijun@h3c.com>
(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

src/rgw/rgw_admin.cc
src/test/cli/radosgw-admin/help.t

index dbc26a973c912384ab9aad9c59b4ed3e868e774f..64ccca0e31ee95cbc6ba1cd83b6be6ebe0f13f8c 100644 (file)
@@ -165,6 +165,7 @@ void _usage()
   cerr << "   --categories=<list>       comma separated list of categories, used in usage show\n";
   cerr << "   --caps=<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 << "<date> := \"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<string>::iterator iter = regions.begin(); iter != regions.end(); ++iter) {
         ret = region.read_info(*iter);
         if (ret < 0) {
index 33aee1d5eb332ffa70e72407c29a208c23081bd3..d61c1b4be266f2e2c6da59a65e12060b2def3140 100644 (file)
      --categories=<list>       comma separated list of categories, used in usage show
      --caps=<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
   <date> := "YYYY-MM-DD[ hh:mm:ss]"
   
   Quota options: