]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scrub: making Scrub's fadvide flags a constant 63056/head
authorRonen Friedman <rfriedma@redhat.com>
Wed, 30 Apr 2025 07:00:25 +0000 (02:00 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Wed, 30 Apr 2025 12:41:40 +0000 (07:41 -0500)
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/ECBackend.cc
src/osd/ECBackendL.cc
src/osd/ECCommon.h
src/osd/ECCommonL.h
src/osd/ReplicatedBackend.cc
src/osd/ReplicatedBackend.h

index 41fde862bc8f5d81ff58a564a4d537c10ae1a3d4..9259f959f239de8464bc3be5f7fac82e5503ac4e 100644 (file)
@@ -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;
index 79666f9370c3c8da0191074d36d54d0aa99daf7c..8d685a1aa32ba99beffb7a1117b0cda4a3f88749 100644 (file)
@@ -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;
index a17aff017ffd3f2effb3123f6114b3357a7c2cc2..c1a490878e6e524d211f357545d403ab7b949f3e 100644 (file)
@@ -65,6 +65,11 @@ struct ECCommon {
 
   using ec_extents_t = std::map<hobject_t, ec_extent_t>;
 
+  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(
index d7994d27e7a1772c6b04ab576fafad50fea4db8d..e0cbe1a731141329b763f191debea961632bd6ef 100644 (file)
@@ -64,6 +64,11 @@ struct ECCommonL {
   friend std::ostream &operator<<(std::ostream &lhs, const ec_extent_t &rhs);
   using ec_extents_t = std::map<hobject_t, ec_extent_t>;
 
+  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(
index 7e3c1fc956dc4dc36e745c07a1c293437a9f2c60..7a6b29dca855523f313d67330c4def9d43222293 100644 (file)
@@ -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;
index b52fe710181522ff0a0718ebcc133b540f6c0d13..db9e3d776e66f3095fa2c50ad60c272e2f7bcdad 100644 (file)
@@ -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,