summaryrefslogtreecommitdiff
path: root/src/rgw/rgw_bucket.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/rgw/rgw_bucket.cc')
-rw-r--r--src/rgw/rgw_bucket.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rgw/rgw_bucket.cc b/src/rgw/rgw_bucket.cc
index 3cb730b555e..c6498daaf42 100644
--- a/src/rgw/rgw_bucket.cc
+++ b/src/rgw/rgw_bucket.cc
@@ -1450,7 +1450,13 @@ public:
if (ret < 0)
return ret;
- ret = rgw_unlink_bucket(store, be.owner, entry);
+ /*
+ * Note that we unlink the bucket but don't want the entry point to be updated
+ * as we're going to remove it immediately after that. Another reason why we
+ * do that is that if we update the entry point, we'll also need to update
+ * objv_tracker, otherwise the following bucket obj removal is going to fail.
+ */
+ ret = rgw_unlink_bucket(store, be.owner, entry, false);
if (ret < 0) {
lderr(store->ctx()) << "could not unlink bucket=" << entry << " owner=" << be.owner << dendl;
}