From: Adam Kupczyk Date: Thu, 25 Jul 2024 07:48:14 +0000 (+0000) Subject: os/bluestore: Add conf.bluestore_write_v2_random X-Git-Tag: v20.0.0~1280^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7de8a6c42b932f41f96c186edf6ae7a51458e4d5;p=ceph.git 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 --- diff --git a/src/common/options/global.yaml.in b/src/common/options/global.yaml.in index 19aea640865..8e32b6c8846 100644 --- a/src/common/options/global.yaml.in +++ b/src/common/options/global.yaml.in @@ -5053,6 +5053,17 @@ options: flags: - startup with_legacy: false +- name: bluestore_write_v2_random + type: bool + level: advanced + desc: Random selection of write path mode + long_desc: For testing purposes. If true, value of bluestore_write_v2 is randomly selected. + default: false + see_also: + - bluestore_write_v2 + flags: + - startup + with_legacy: false - name: bluestore_allocator type: str level: advanced diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 299cd90d000..d35a59a4639 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -9149,7 +9149,12 @@ int BlueStore::_mount() return r; } } - use_write_v2 = cct->_conf.get_val("bluestore_write_v2"); + use_write_v2 = cct->_conf.get_val("bluestore_write_v2"); + if (cct->_conf.get_val("bluestore_write_v2_random")) { + srand(time(NULL)); + use_write_v2 = rand() % 2; + cct->_conf.set_val("bluestore_write_v2", std::to_string(use_write_v2)); + } _kv_only = false; if (cct->_conf->bluestore_fsck_on_mount) { int rc = fsck(cct->_conf->bluestore_fsck_on_mount_deep);