File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed
Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -16252,7 +16252,9 @@ int BlueStore::_do_alloc_write(
1625216252 if (!g_conf()->bluestore_debug_omit_block_device_write) {
1625316253 if (data_size < prefer_deferred_size_snapshot) {
1625416254 dout(20) << __func__ << " deferring 0x" << std::hex
16255- << l->length() << std::dec << " write via deferred" << dendl;
16255+ << l->length() << " write via deferred, pds=0x"
16256+ << prefer_deferred_size_snapshot
16257+ << std::dec<< dendl;
1625616258 bluestore_deferred_op_t *op = _get_deferred_op(txc, l->length());
1625716259 op->op = bluestore_deferred_op_t::OP_WRITE;
1625816260 int r = wi.b->get_blob().map(
Original file line number Diff line number Diff line change @@ -7030,6 +7030,15 @@ TEST_P(DeferredWriteTest, NewData) {
70307030 SetVal (g_conf (), " bluestore_min_alloc_size" , stringify (t.min_alloc_size ).c_str ());
70317031 SetVal (g_conf (), " bluestore_max_blob_size" , stringify (t.max_blob_size ).c_str ());
70327032 SetVal (g_conf (), " bluestore_prefer_deferred_size" , stringify (t.prefer_deferred_size ).c_str ());
7033+ // bluestore_prefer_deferred_size set to 0 is a special case
7034+ // when hdd-/ssd-specific settings applied.
7035+ // Need to adjust them as well if we want to have no deferred ops at all
7036+ // Fixes: https://tracker.ceph.com/issues/64443
7037+ //
7038+ if (0 == t.prefer_deferred_size ) {
7039+ SetVal (g_conf (), " bluestore_prefer_deferred_size_hdd" , " 0" );
7040+ SetVal (g_conf (), " bluestore_prefer_deferred_size_ssd" , " 0" );
7041+ }
70337042 g_conf ().apply_changes (nullptr );
70347043 DeferredSetup ();
70357044
You can’t perform that action at this time.
0 commit comments