mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
os/bluestore: prevent sync_submit if there is unstable io for this osr
If this txc or any txc that precedes it has unstable IO we cannot queue our kv transaction without a bdev sync. Currently such a sync is only triggered from the kv_sync_thread, so we need to do this kv submission async. Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
parent
503538885f
commit
662cda684a
@ -6234,6 +6234,9 @@ void BlueStore::_txc_state_proc(TransContext *txc)
|
||||
// sequencer that is committing serially it is possible to keep
|
||||
// submitting new transactions fast enough that we get stuck doing
|
||||
// so. the alternative is to block here... fixme?
|
||||
} else if (txc->osr->txc_with_unstable_io) {
|
||||
dout(20) << __func__ << " prior txc(s) with unstable ios "
|
||||
<< txc->osr->txc_with_unstable_io.load() << dendl;
|
||||
} else if (g_conf->bluestore_debug_randomize_serial_transaction &&
|
||||
rand() % g_conf->bluestore_debug_randomize_serial_transaction
|
||||
== 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user