From 17fae9374af5147611f9783f3976a0b0beed8fdc Mon Sep 17 00:00:00 2001 From: wanghongxu Date: Wed, 15 Apr 2020 19:52:40 +0800 Subject: [PATCH] bluestore: Support flock retry When the block changes, systemd-udevd will open the block, read some information and close it. Then a failure occurs here. So we need to try again here. Fixes: https://tracker.ceph.com/issues/46124 Signed-off-by: wanghongxu (cherry picked from commit 23f8c323d2ba9133c3ef5834ae93115425c862d1) Conflicts: src/blk/kernel/KernelDevice.cc - file does not exist in Nautilus; made the changes manually in src/os/bluestore/KernelDevice.cc --- src/common/legacy_config_opts.h | 2 ++ src/common/options.cc | 8 ++++++++ src/os/bluestore/KernelDevice.cc | 23 ++++++++++++++++++----- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index 586b3f6d8e161..208da3f99fc2e 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -936,6 +936,8 @@ OPTION(bdev_nvme_unbind_from_kernel, OPT_BOOL) OPTION(bdev_nvme_retry_count, OPT_INT) // -1 means by default which is 4 OPTION(bdev_enable_discard, OPT_BOOL) OPTION(bdev_async_discard, OPT_BOOL) +OPTION(bdev_flock_retry_interval, OPT_FLOAT) +OPTION(bdev_flock_retry, OPT_INT) OPTION(objectstore_blackhole, OPT_BOOL) diff --git a/src/common/options.cc b/src/common/options.cc index 54c2c516a940e..041a27d921038 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4332,6 +4332,14 @@ std::vector