]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/seastore/cache: add an efficient method to check if extents are
authorXuehan Xu <xuxuehan@qianxin.com>
Fri, 14 Jun 2024 10:35:05 +0000 (18:35 +0800)
committerMatan Breizman <mbreizma@redhat.com>
Thu, 25 Jul 2024 07:39:22 +0000 (10:39 +0300)
commitcb44fc3dc4abd7d89769e60abfb87696960be6bf
treef13385bf7396259c6958332fd682a8ec439a0625
parent6bbd02b2edb40f053e3f02c134161a8d39d2657f
crimson/os/seastore/cache: add an efficient method to check if extents are
viewable to transactions

Instead of searching the transaction's retired_set to determine whether
an extent has been retired, we add the transaction that's retiring an
extent to that extent's retired_transactions field and search that field
to do the check. Since the probability of multiple transactions retiring
the same extent is very low, this approach should be more cpu efficient.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 2721169f3285eb132d4a6f2792ec490c72129dd3)
src/crimson/os/seastore/btree/btree_range_pin.h
src/crimson/os/seastore/cache.cc
src/crimson/os/seastore/cached_extent.h
src/crimson/os/seastore/transaction.h