Skip to content

Commit 2996d13

Browse files
authored
Merge pull request ceph#55594 from ifed01/wip-ifed-fix-64443
test/store_test: fix DeferredWrite test when prefer_deferred_size=0 Reviewed-by: Adam Kupczyk <[email protected]>
2 parents a04996a + ac4a48c commit 2996d13

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/os/bluestore/BlueStore.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16263,7 +16263,9 @@ int BlueStore::_do_alloc_write(
1626316263
if (!g_conf()->bluestore_debug_omit_block_device_write) {
1626416264
if (data_size < prefer_deferred_size_snapshot) {
1626516265
dout(20) << __func__ << " deferring 0x" << std::hex
16266-
<< l->length() << std::dec << " write via deferred" << dendl;
16266+
<< l->length() << " write via deferred, pds=0x"
16267+
<< prefer_deferred_size_snapshot
16268+
<< std::dec<< dendl;
1626716269
bluestore_deferred_op_t *op = _get_deferred_op(txc, l->length());
1626816270
op->op = bluestore_deferred_op_t::OP_WRITE;
1626916271
int r = wi.b->get_blob().map(

src/test/objectstore/store_test.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7097,6 +7097,15 @@ TEST_P(DeferredWriteTest, NewData) {
70977097
SetVal(g_conf(), "bluestore_min_alloc_size", stringify(t.min_alloc_size).c_str());
70987098
SetVal(g_conf(), "bluestore_max_blob_size", stringify(t.max_blob_size).c_str());
70997099
SetVal(g_conf(), "bluestore_prefer_deferred_size", stringify(t.prefer_deferred_size).c_str());
7100+
// bluestore_prefer_deferred_size set to 0 is a special case
7101+
// when hdd-/ssd-specific settings applied.
7102+
// Need to adjust them as well if we want to have no deferred ops at all
7103+
// Fixes: https://tracker.ceph.com/issues/64443
7104+
//
7105+
if (0 == t.prefer_deferred_size) {
7106+
SetVal(g_conf(), "bluestore_prefer_deferred_size_hdd", "0");
7107+
SetVal(g_conf(), "bluestore_prefer_deferred_size_ssd", "0");
7108+
}
71007109
g_conf().apply_changes(nullptr);
71017110
DeferredSetup();
71027111

0 commit comments

Comments
 (0)