From: chunmei-liu Date: Mon, 24 Jan 2022 17:12:00 +0000 (-0800) Subject: crimson: fix remove_from_lru assert X-Git-Tag: v18.0.0~1507^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3cdc82cf9838c770699ffaea138e1ef66ad4001a;p=ceph.git crimson: fix remove_from_lru assert RETIRED_PLACEHOLDER extent also put into retired set, when do commit_retire_extent need check if it is RETIRED_PLACEHOLDER, otherwise will cause remove_from_lru assert. Signed-off-by: chunmei-liu --- diff --git a/src/crimson/os/seastore/cache.cc b/src/crimson/os/seastore/cache.cc index 39ac510b96b9..692cb0e58598 100644 --- a/src/crimson/os/seastore/cache.cc +++ b/src/crimson/os/seastore/cache.cc @@ -673,7 +673,7 @@ void Cache::remove_extent(CachedExtentRef ref) assert(ref->is_valid()); if (ref->is_dirty()) { remove_from_dirty(ref); - } else { + } else if (!ref->is_placeholder()) { lru.remove_from_lru(*ref); } extents.erase(*ref);