]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
bucket cache entry leak in-progress
authorMatt Benjamin <mbenjamin@redhat.com>
Wed, 26 Nov 2025 14:00:03 +0000 (09:00 -0500)
committerMatt Benjamin <mbenjamin@redhat.com>
Tue, 24 Feb 2026 18:25:12 +0000 (13:25 -0500)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/rgw/driver/posix/bucket_cache.h
src/rgw/driver/posix/rgw_sal_posix.cc

index 721c4e50abba125d9e199ada3f25419dfd3463aa..627984c3fee70cb1f8e2f8b395b23837ae15abb3 100644 (file)
@@ -74,6 +74,10 @@ public:
     dbi = _dbi;
   }
 
+  virtual ~BucketCacheEntry() {
+    int stop_here = 1;
+  }
+
   inline bool deleted() const {
     return flags & FLAG_DELETED;
   }
@@ -622,6 +626,8 @@ public:
       txn->del(b->dbi, concat_k);
       txn->commit();
 
+      // XXXX POOPOO -- lru_refcnt is reaching 0 here, but the (refcnt underrun)
+
       lru.unref(b, cohort::lru::FLAG_NONE);
     } /* b */
 
index 50df5fb2904efb78eb11e89940b685074b132857..6c7b0f5461b9640a2345aab192e410a6a551a2e8 100644 (file)
@@ -2945,6 +2945,8 @@ int POSIXObject::delete_object(const DoutPrefixProvider* dpp,
 
   cls_rgw_obj_key key;
   get_key().get_index_key(&key);
+
+  /* XXXX we should get bucket cache once, ne? hint:  operate functor */
   driver->get_bucket_cache()->remove_entry(dpp, b->get_name(), key);
 
   if (!key.instance.empty() && !ent->exists()) {