Skip to content

Commit 7de8a6c

Browse files
committed
os/bluestore: Add conf.bluestore_write_v2_random
Added conf.bluestore_write_v2_random. This is useful only for testing. If set, it overrides value of bluestore_write_v2 with a random true/false selection. It is useful for v1 / v2 compatibility testing. Signed-off-by: Adam Kupczyk <[email protected]>
1 parent 3b5b7fa commit 7de8a6c

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/common/options/global.yaml.in

+11
Original file line numberDiff line numberDiff line change
@@ -5053,6 +5053,17 @@ options:
50535053
flags:
50545054
- startup
50555055
with_legacy: false
5056+
- name: bluestore_write_v2_random
5057+
type: bool
5058+
level: advanced
5059+
desc: Random selection of write path mode
5060+
long_desc: For testing purposes. If true, value of bluestore_write_v2 is randomly selected.
5061+
default: false
5062+
see_also:
5063+
- bluestore_write_v2
5064+
flags:
5065+
- startup
5066+
with_legacy: false
50565067
- name: bluestore_allocator
50575068
type: str
50585069
level: advanced

src/os/bluestore/BlueStore.cc

+6-1
Original file line numberDiff line numberDiff line change
@@ -9149,7 +9149,12 @@ int BlueStore::_mount()
91499149
return r;
91509150
}
91519151
}
9152-
use_write_v2 = cct->_conf.get_val<bool>("bluestore_write_v2");
9152+
use_write_v2 = cct->_conf.get_val<bool>("bluestore_write_v2");
9153+
if (cct->_conf.get_val<bool>("bluestore_write_v2_random")) {
9154+
srand(time(NULL));
9155+
use_write_v2 = rand() % 2;
9156+
cct->_conf.set_val("bluestore_write_v2", std::to_string(use_write_v2));
9157+
}
91539158
_kv_only = false;
91549159
if (cct->_conf->bluestore_fsck_on_mount) {
91559160
int rc = fsck(cct->_conf->bluestore_fsck_on_mount_deep);

0 commit comments

Comments
 (0)