]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: reshard add: fail correctly on a non existant bucket 25088/head
authorAbhishek Lekshmanan <abhishek@suse.com>
Mon, 15 Oct 2018 20:00:33 +0000 (22:00 +0200)
committerJonathan Brielmaier <jbrielmaier@suse.de>
Wed, 14 Nov 2018 11:56:17 +0000 (12:56 +0100)
Currently the method that validates the reshard params does not fail correctly
in case of a non existant bucket causing reshard add to print an error message
but add the non existant bucket to the queue anyway. This will later be a cause
of EBUSY errors as this entry on the logshard  can never be processed.

Fixes: http://tracker.ceph.com/issues/36449
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit c564b348a24edf2804a8f5f0d034f388be1c5c5f)
Signed-off-by: Jonathan Brielmaier <jbrielmaier@suse.de>
src/rgw/rgw_admin.cc

index 311596b8820adcf192c610269a8d28ee28d7b92f..89a267828062834eb84ed54292ddf33d408dca86 100644 (file)
@@ -2458,7 +2458,7 @@ int check_reshard_bucket_params(RGWRados *store,
   int ret = init_bucket(tenant, bucket_name, bucket_id, bucket_info, bucket, &attrs);
   if (ret < 0) {
     cerr << "ERROR: could not init bucket: " << cpp_strerror(-ret) << std::endl;
-    return -ret;
+    return ret;
   }
 
   int num_source_shards = (bucket_info.num_shards > 0 ? bucket_info.num_shards : 1);