]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw:add --reset-regions for regionmap update 5490/head
authordwj192 <duanweijun@h3c.com>
Wed, 9 Sep 2015 01:48:16 +0000 (09:48 +0800)
committerdwj192 <duanweijun@h3c.com>
Wed, 9 Sep 2015 01:48:43 +0000 (09:48 +0800)
Fixes: #12964
Signed-off-by: Weijun Duan <duanweijun@h3c.com>
src/rgw/rgw_admin.cc
src/test/cli/radosgw-admin/help.t

index 1140cbdbbc5f8de331f12d5f5bb631e15ba36883..15aedaa9bba2911ca94304b27fb4ce9b19a0620b 100644 (file)
@@ -165,6 +165,7 @@ void _usage()
   cout << "   --categories=<list>       comma separated list of categories, used in usage show\n";
   cout << "   --caps=<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 << "<date> := \"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<string>::iterator iter = regions.begin(); iter != regions.end(); ++iter) {
         ret = region.read_info(*iter);
         if (ret < 0) {
index 33aee1d5eb332ffa70e72407c29a208c23081bd3..e2a8447e26213c3f989bbbb8031cf25877374b6e 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: