Skip to content

Commit 69def10

Browse files
authored
Merge pull request ceph#63056 from ronen-fr/wip-rf-fadvise
osd/scrub: making Scrub's fadvide flags a constant Reviewed-by: Alex Ainscow <[email protected]>
2 parents 47298fa + 4ebd027 commit 69def10

File tree

6 files changed

+17
-14
lines changed

6 files changed

+17
-14
lines changed

src/osd/ECBackend.cc

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1775,10 +1775,6 @@ int ECBackend::be_deep_scrub(
17751775
dout(10) << __func__ << " " << poid << " pos " << pos << dendl;
17761776
int r;
17771777

1778-
uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL |
1779-
CEPH_OSD_OP_FLAG_FADVISE_DONTNEED |
1780-
CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE;
1781-
17821778
utime_t sleeptime;
17831779
sleeptime.set_from_double(cct->_conf->osd_debug_deep_scrub_sleep);
17841780
if (sleeptime != utime_t()) {
@@ -1803,7 +1799,7 @@ int ECBackend::be_deep_scrub(
18031799
poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
18041800
pos.data_pos,
18051801
stride, bl,
1806-
fadvise_flags);
1802+
ECCommon::scrub_fadvise_flags);
18071803
if (r < 0) {
18081804
dout(20) << __func__ << " " << poid << " got "
18091805
<< r << " on read, read_error" << dendl;

src/osd/ECBackendL.cc

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1736,10 +1736,6 @@ int ECBackendL::be_deep_scrub(
17361736
dout(10) << __func__ << " " << poid << " pos " << pos << dendl;
17371737
int r;
17381738

1739-
uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL |
1740-
CEPH_OSD_OP_FLAG_FADVISE_DONTNEED |
1741-
CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE;
1742-
17431739
utime_t sleeptime;
17441740
sleeptime.set_from_double(cct->_conf->osd_debug_deep_scrub_sleep);
17451741
if (sleeptime != utime_t()) {
@@ -1764,7 +1760,7 @@ int ECBackendL::be_deep_scrub(
17641760
poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
17651761
pos.data_pos,
17661762
stride, bl,
1767-
fadvise_flags);
1763+
ECCommonL::scrub_fadvise_flags);
17681764
if (r < 0) {
17691765
dout(20) << __func__ << " " << poid << " got "
17701766
<< r << " on read, read_error" << dendl;

src/osd/ECCommon.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ struct ECCommon {
6565

6666
using ec_extents_t = std::map<hobject_t, ec_extent_t>;
6767

68+
static inline const uint32_t scrub_fadvise_flags{
69+
CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL |
70+
CEPH_OSD_OP_FLAG_FADVISE_DONTNEED |
71+
CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE};
72+
6873
virtual ~ECCommon() = default;
6974

7075
virtual void handle_sub_write(

src/osd/ECCommonL.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ struct ECCommonL {
6464
friend std::ostream &operator<<(std::ostream &lhs, const ec_extent_t &rhs);
6565
using ec_extents_t = std::map<hobject_t, ec_extent_t>;
6666

67+
static inline const uint32_t scrub_fadvise_flags{
68+
CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL |
69+
CEPH_OSD_OP_FLAG_FADVISE_DONTNEED |
70+
CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE};
71+
6772
virtual ~ECCommonL() = default;
6873

6974
virtual void handle_sub_write(

src/osd/ReplicatedBackend.cc

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -753,9 +753,6 @@ int ReplicatedBackend::be_deep_scrub(
753753
{
754754
dout(10) << __func__ << " " << poid << " pos " << pos << dendl;
755755
auto& perf_logger = *(get_parent()->get_logger());
756-
const uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL |
757-
CEPH_OSD_OP_FLAG_FADVISE_DONTNEED |
758-
CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE;
759756

760757
utime_t sleeptime;
761758
sleeptime.set_from_double(cct->_conf->osd_debug_deep_scrub_sleep);
@@ -781,7 +778,7 @@ int ReplicatedBackend::be_deep_scrub(
781778
poid, ghobject_t::NO_GEN, get_parent()->whoami_shard().shard),
782779
pos.data_pos,
783780
stride, bl,
784-
fadvise_flags);
781+
scrub_fadvise_flags);
785782
if (r < 0) {
786783
dout(20) << __func__ << " " << poid << " got "
787784
<< r << " on read, read_error" << dendl;

src/osd/ReplicatedBackend.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,10 @@ class ReplicatedBackend : public PGBackend {
455455
void repop_commit(RepModifyRef rm);
456456
bool auto_repair_supported() const override { return store->has_builtin_csum(); }
457457

458+
static inline const uint32_t scrub_fadvise_flags{
459+
CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL |
460+
CEPH_OSD_OP_FLAG_FADVISE_DONTNEED |
461+
CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE};
458462

459463
int be_deep_scrub(
460464
const Scrub::ScrubCounterSet& io_counters,

0 commit comments

Comments
 (0)