From 4ebd027cfe2ad86cb2843c3dbd5b7a9ff4de5dd7 Mon Sep 17 00:00:00 2001 From: Ronen Friedman Date: Wed, 30 Apr 2025 02:00:25 -0500 Subject: [PATCH] osd/scrub: making Scrub's fadvide flags a constant Signed-off-by: Ronen Friedman --- src/osd/ECBackend.cc | 6 +----- src/osd/ECBackendL.cc | 6 +----- src/osd/ECCommon.h | 5 +++++ src/osd/ECCommonL.h | 5 +++++ src/osd/ReplicatedBackend.cc | 5 +---- src/osd/ReplicatedBackend.h | 4 ++++ 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index 41fde862bc8f5..9259f959f239d 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -1775,10 +1775,6 @@ int ECBackend::be_deep_scrub( dout(10) << __func__ << " " << poid << " pos " << pos << dendl; int r; - uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL | - CEPH_OSD_OP_FLAG_FADVISE_DONTNEED | - CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE; - utime_t sleeptime; sleeptime.set_from_double(cct->_conf->osd_debug_deep_scrub_sleep); if (sleeptime != utime_t()) { @@ -1803,7 +1799,7 @@ int ECBackend::be_deep_scrub( poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard), pos.data_pos, stride, bl, - fadvise_flags); + ECCommon::scrub_fadvise_flags); if (r < 0) { dout(20) << __func__ << " " << poid << " got " << r << " on read, read_error" << dendl; diff --git a/src/osd/ECBackendL.cc b/src/osd/ECBackendL.cc index 79666f9370c3c..8d685a1aa32ba 100644 --- a/src/osd/ECBackendL.cc +++ b/src/osd/ECBackendL.cc @@ -1736,10 +1736,6 @@ int ECBackendL::be_deep_scrub( dout(10) << __func__ << " " << poid << " pos " << pos << dendl; int r; - uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL | - CEPH_OSD_OP_FLAG_FADVISE_DONTNEED | - CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE; - utime_t sleeptime; sleeptime.set_from_double(cct->_conf->osd_debug_deep_scrub_sleep); if (sleeptime != utime_t()) { @@ -1764,7 +1760,7 @@ int ECBackendL::be_deep_scrub( poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard), pos.data_pos, stride, bl, - fadvise_flags); + ECCommonL::scrub_fadvise_flags); if (r < 0) { dout(20) << __func__ << " " << poid << " got " << r << " on read, read_error" << dendl; diff --git a/src/osd/ECCommon.h b/src/osd/ECCommon.h index a17aff017ffd3..c1a490878e6e5 100644 --- a/src/osd/ECCommon.h +++ b/src/osd/ECCommon.h @@ -65,6 +65,11 @@ struct ECCommon { using ec_extents_t = std::map; + static inline const uint32_t scrub_fadvise_flags{ + CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL | + CEPH_OSD_OP_FLAG_FADVISE_DONTNEED | + CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE}; + virtual ~ECCommon() = default; virtual void handle_sub_write( diff --git a/src/osd/ECCommonL.h b/src/osd/ECCommonL.h index d7994d27e7a17..e0cbe1a731141 100644 --- a/src/osd/ECCommonL.h +++ b/src/osd/ECCommonL.h @@ -64,6 +64,11 @@ struct ECCommonL { friend std::ostream &operator<<(std::ostream &lhs, const ec_extent_t &rhs); using ec_extents_t = std::map; + static inline const uint32_t scrub_fadvise_flags{ + CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL | + CEPH_OSD_OP_FLAG_FADVISE_DONTNEED | + CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE}; + virtual ~ECCommonL() = default; virtual void handle_sub_write( diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc index 7e3c1fc956dc4..7a6b29dca8555 100644 --- a/src/osd/ReplicatedBackend.cc +++ b/src/osd/ReplicatedBackend.cc @@ -753,9 +753,6 @@ int ReplicatedBackend::be_deep_scrub( { dout(10) << __func__ << " " << poid << " pos " << pos << dendl; auto& perf_logger = *(get_parent()->get_logger()); - const uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL | - CEPH_OSD_OP_FLAG_FADVISE_DONTNEED | - CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE; utime_t sleeptime; sleeptime.set_from_double(cct->_conf->osd_debug_deep_scrub_sleep); @@ -781,7 +778,7 @@ int ReplicatedBackend::be_deep_scrub( poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard), pos.data_pos, stride, bl, - fadvise_flags); + scrub_fadvise_flags); if (r < 0) { dout(20) << __func__ << " " << poid << " got " << r << " on read, read_error" << dendl; diff --git a/src/osd/ReplicatedBackend.h b/src/osd/ReplicatedBackend.h index b52fe71018152..db9e3d776e66f 100644 --- a/src/osd/ReplicatedBackend.h +++ b/src/osd/ReplicatedBackend.h @@ -455,6 +455,10 @@ private: void repop_commit(RepModifyRef rm); bool auto_repair_supported() const override { return store->has_builtin_csum(); } + static inline const uint32_t scrub_fadvise_flags{ + CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL | + CEPH_OSD_OP_FLAG_FADVISE_DONTNEED | + CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE}; int be_deep_scrub( const Scrub::ScrubCounterSet& io_counters, -- 2.39.5