From: Matt Benjamin Date: Wed, 26 Nov 2025 14:00:03 +0000 (-0500) Subject: bucket cache entry leak in-progress X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=167118b196ea8912dd511182c5a7b456bd0e80b3;p=ceph-ci.git bucket cache entry leak in-progress Signed-off-by: Matt Benjamin --- diff --git a/src/rgw/driver/posix/bucket_cache.h b/src/rgw/driver/posix/bucket_cache.h index 721c4e50abb..627984c3fee 100644 --- a/src/rgw/driver/posix/bucket_cache.h +++ b/src/rgw/driver/posix/bucket_cache.h @@ -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 */ diff --git a/src/rgw/driver/posix/rgw_sal_posix.cc b/src/rgw/driver/posix/rgw_sal_posix.cc index 50df5fb2904..6c7b0f5461b 100644 --- a/src/rgw/driver/posix/rgw_sal_posix.cc +++ b/src/rgw/driver/posix/rgw_sal_posix.cc @@ -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()) {