From: myoungwon oh Date: Mon, 20 Feb 2023 02:49:54 +0000 (+0900) Subject: crimson/os/seastore/rbm: do not set block_size in open() X-Git-Tag: v18.1.0~271^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1bd4acc318c03071d9f46f6b4d3cecb6b4ff9c4f;p=ceph.git crimson/os/seastore/rbm: do not set block_size in open() Signed-off-by: Myoungwon Oh --- diff --git a/src/crimson/os/seastore/random_block_manager/nvme_block_device.cc b/src/crimson/os/seastore/random_block_manager/nvme_block_device.cc index d74cd200412..adfc5e4c6f4 100644 --- a/src/crimson/os/seastore/random_block_manager/nvme_block_device.cc +++ b/src/crimson/os/seastore/random_block_manager/nvme_block_device.cc @@ -134,7 +134,6 @@ open_ertr::future<> NVMeBlockDevice::open( seastar::open_flags mode) { return seastar::do_with(in_path, [this, mode](auto& in_path) { return seastar::file_stat(in_path).then([this, mode, in_path](auto stat) { - super.block_size = stat.block_size; return seastar::open_file_dma(in_path, mode).then([=, this](auto file) { device = file; logger().debug("open"); diff --git a/src/crimson/os/seastore/random_block_manager/rbm_device.h b/src/crimson/os/seastore/random_block_manager/rbm_device.h index acd8baee446..91b877e23ae 100644 --- a/src/crimson/os/seastore/random_block_manager/rbm_device.h +++ b/src/crimson/os/seastore/random_block_manager/rbm_device.h @@ -175,6 +175,10 @@ public: void set_journal_size(uint64_t size) { super.journal_size = size; } + + void set_block_size(size_t size) { + super.block_size = size; + } }; using RBMDeviceRef = std::unique_ptr; diff --git a/src/test/crimson/seastore/nvmedevice/test_nvmedevice.cc b/src/test/crimson/seastore/nvmedevice/test_nvmedevice.cc index faa7cfa140b..74ea2aab8cf 100644 --- a/src/test/crimson/seastore/nvmedevice/test_nvmedevice.cc +++ b/src/test/crimson/seastore/nvmedevice/test_nvmedevice.cc @@ -57,6 +57,7 @@ TEST_F(nvdev_test_t, write_and_verify_test) run_async([this] { device.reset(new random_block_device::nvme::NVMeBlockDevice("")); device->open(dev_path, seastar::open_flags::rw).unsafe_get(); + device->set_block_size(BLK_SIZE); nvdev_test_block_t original_data; std::minstd_rand0 generator; uint8_t value = generator();