]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix drain handles error when deleting bucket with bypass-gc option 29956/head
authorDongdong Tao <dongdong.tao@canonical.com>
Sat, 29 Jun 2019 09:03:59 +0000 (17:03 +0800)
committerNathan Cutler <ncutler@suse.com>
Wed, 28 Aug 2019 13:40:54 +0000 (15:40 +0200)
Fixes: https://tracker.ceph.com/issues/40587
Signed-off-by: dongdong tao <dongdong.tao@canonical.com>
(cherry picked from commit bcdd7e6341666bf10b97eaacd6b5e53c69ade023)

src/rgw/rgw_bucket.cc

index e1dd5832e6d845629356eaa73bd1c220d9b26bb1..d5f77cbf08c06160ff013ad4aec2d0e6bfb4f437 100644 (file)
@@ -694,7 +694,7 @@ int rgw_remove_bucket_bypass_gc(RGWRados *store, rgw_bucket& bucket,
         for (; miter != manifest.obj_end() && max_aio--; ++miter) {
           if (!max_aio) {
             ret = drain_handles(handles);
-            if (ret < 0) {
+            if (ret < 0 && ret != -ENOENT) {
               lderr(store->ctx()) << "ERROR: could not drain handles as aio completion returned with " << ret << dendl;
               return ret;
             }
@@ -723,7 +723,7 @@ int rgw_remove_bucket_bypass_gc(RGWRados *store, rgw_bucket& bucket,
 
       if (!max_aio) {
         ret = drain_handles(handles);
-        if (ret < 0) {
+        if (ret < 0 && ret != -ENOENT) {
           lderr(store->ctx()) << "ERROR: could not drain handles as aio completion returned with " << ret << dendl;
           return ret;
         }
@@ -733,7 +733,7 @@ int rgw_remove_bucket_bypass_gc(RGWRados *store, rgw_bucket& bucket,
   }
 
   ret = drain_handles(handles);
-  if (ret < 0) {
+  if (ret < 0 && ret != -ENOENT) {
     lderr(store->ctx()) << "ERROR: could not drain handles as aio completion returned with " << ret << dendl;
     return ret;
   }