});
}
+NVMeBlockDevice::mount_ret NVMeBlockDevice::mount()
+{
+ logger().debug(" mount ");
+ return open(device_path, seastar::open_flags::rw | seastar::open_flags::dsync
+ ).safe_then([this] {
+ return read_rbm_header(RBM_START_ADDRESS
+ ).safe_then([](auto s) {
+ return seastar::now();
+ });
+ }).handle_error(
+ mount_ertr::pass_further{},
+ crimson::ct_error::assert_all{
+ "Invalid error mount in NVMeBlockDevice::mount"}
+ );
+}
+
write_ertr::future<> NVMeBlockDevice::write(
uint64_t offset,
bufferptr &bptr,
uint64_t offset,
uint64_t len) override;
- mount_ret mount() final {
- return mount_ertr::now();
- }
+ mount_ret mount() final;
mkfs_ret mkfs(device_config_t config) final {
using crimson::common::get_conf;