From a20a7d20f004d212dc62c40dded2b82be9096412 Mon Sep 17 00:00:00 2001 From: Adam Kupczyk Date: Wed, 13 May 2026 06:50:04 +0200 Subject: [PATCH] extblkdev: Fix FCM plugin asserting on multivolume devices The issue is that FCM does not work properly with BlueStore "block" that spans over multiple devices, even FCM ones. The current code detects it, and issues health warning. But by coding mistake the check for it applies to all deployments, and is an assert-grade error. The original problem was introduced with: https://github.com/ceph/ceph/pull/68024 (as backport of https://github.com/ceph/ceph/pull/66318) It was supposed to be solved with: https://github.com/ceph/ceph/pull/68663 (as backport of https://github.com/ceph/ceph/pull/68416) But it was not, since the actual offending lines were removed by this temporary solution: https://github.com/ceph/ceph/pull/68391 This commit now properly removes the lines were not removed. Fixes: https://tracker.ceph.com/issues/76581 Signed-off-by: Adam Kupczyk --- src/extblkdev/fcm/ExtBlkDevPluginFcm.cc | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc b/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc index 05b4e6607ac..035932e9362 100644 --- a/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc +++ b/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc @@ -328,9 +328,6 @@ public: // determine device name for underlying hardware std::set raw_devices; get_raw_devices(logdevname, &raw_devices); - if (raw_devices.size() > 1) { - ceph_abort("Device " + logdevname_a + " consist of "+ raw_devices.size() + " devices: " + raw_devices); - } for (auto& d : raw_devices) { std::string devpath = "/sys/block/" + d + "/device/"; uint32_t vendor; -- 2.47.3