diff options
author | Yingxin Cheng <yingxin.cheng@intel.com> | 2025-01-09 11:08:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-09 11:08:35 +0100 |
commit | 10c9a4d252f8f21f324ffcdff81b3f1ef033d4f9 (patch) | |
tree | 3876b7f2bb4d86f7edb99b98bfc0b5474f65dc26 /src/crimson/os/seastore/async_cleaner.cc | |
parent | Merge pull request #60848 from cbodley/wip-rgw-deprecate-iam-tenant (diff) | |
parent | crimson/osd/replicated_recovery_backend: prevent recovery/backfills from (diff) | |
download | ceph-10c9a4d252f8f21f324ffcdff81b3f1ef033d4f9.tar.xz ceph-10c9a4d252f8f21f324ffcdff81b3f1ef033d4f9.zip |
Merge pull request #60891 from xxhdx1985126/wip-seastore-fadvise-backfill
crimson/os/seastore: add fadvise support to SeaStore and prevent recovery/backfill from polluting the cache of SeaStore
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Diffstat (limited to 'src/crimson/os/seastore/async_cleaner.cc')
-rw-r--r-- | src/crimson/os/seastore/async_cleaner.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index 341c5c5524a..64e6749562e 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -609,6 +609,7 @@ JournalTrimmerImpl::trim_alloc() return extent_callback->with_transaction_intr( Transaction::src_t::TRIM_ALLOC, "trim_alloc", + CACHE_HINT_NOCACHE, [this, FNAME](auto &t) { auto target = get_alloc_tail_target(); @@ -653,6 +654,7 @@ JournalTrimmerImpl::trim_dirty() return extent_callback->with_transaction_intr( Transaction::src_t::TRIM_DIRTY, "trim_dirty", + CACHE_HINT_NOCACHE, [this, FNAME](auto &t) { auto target = get_dirty_tail_target(); @@ -1125,6 +1127,7 @@ SegmentCleaner::do_reclaim_space( return extent_callback->with_transaction_intr( src, "clean_reclaim_space", + CACHE_HINT_NOCACHE, [this, &backref_extents, &pin_list, &reclaimed](auto &t) { return seastar::do_with( @@ -1240,6 +1243,7 @@ SegmentCleaner::clean_space_ret SegmentCleaner::clean_space() return extent_callback->with_transaction_intr( Transaction::src_t::READ, "retrieve_from_backref_tree", + CACHE_HINT_NOCACHE, [this, &weak_read_ret](auto &t) { return backref_manager.get_mappings( t, @@ -1506,6 +1510,7 @@ bool SegmentCleaner::check_usage() SpaceTrackerIRef tracker(space_tracker->make_empty()); extent_callback->with_transaction_weak( "check_usage", + CACHE_HINT_NOCACHE, [this, &tracker](auto &t) { return backref_manager.scan_mapped_space( t, @@ -1812,6 +1817,7 @@ bool RBMCleaner::check_usage() RBMSpaceTracker tracker(rbms); extent_callback->with_transaction_weak( "check_usage", + CACHE_HINT_NOCACHE, [this, &tracker, &rbms](auto &t) { return backref_manager.scan_mapped_space( t, |