]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: check going_down() when lifecycle processing
authorYao Zongyou <yaozongyou@vip.qq.com>
Thu, 9 Nov 2017 12:40:15 +0000 (20:40 +0800)
committerYao Zongyou <yaozongyou@vip.qq.com>
Thu, 9 Nov 2017 12:40:15 +0000 (20:40 +0800)
Fixes: http://tracker.ceph.com/issues/22099
Signed-off-by: Yao Zongyou <yaozongyou@vip.qq.com>
src/rgw/rgw_lc.cc

index 0e99b1dc25ee2dbfe550987ee59b33470b151d8f..05f993ef7b5be59f352952265d12b4516ef00ac6 100644 (file)
@@ -318,6 +318,8 @@ int RGWLC::handle_multipart_expiration(RGWRados::Bucket *target, const map<strin
             ldout(cct, 0) << "ERROR: abort_multipart_upload failed, ret=" << ret <<dendl;
             return ret;
           }
+          if (going_down())
+            return 0;
         }
       }
     } while(is_truncated);
@@ -457,6 +459,9 @@ int RGWLC::bucket_lc_process(string& shard_id)
             } else {
               ldout(cct, 10) << "DELETED:" << bucket_name << ":" << key << dendl;
             }
+
+            if (going_down())
+              return 0;
           }
         }
       } while (is_truncated);
@@ -559,6 +564,9 @@ int RGWLC::bucket_lc_process(string& shard_id)
             } else {
               ldout(cct, 10) << "DELETED:" << bucket_name << ":" << obj_iter->key << dendl;
             }
+
+            if (going_down())
+              return 0;
           }
         }
       } while (is_truncated);