]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
extblkdev: Fix FCM plugin asserting on multivolume devices 68877/head
authorAdam Kupczyk <akupczyk@ibm.com>
Wed, 13 May 2026 04:50:04 +0000 (06:50 +0200)
committerAdam Kupczyk <akupczyk@ibm.com>
Wed, 13 May 2026 15:06:46 +0000 (17:06 +0200)
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 <akupczyk@ibm.com>
src/extblkdev/fcm/ExtBlkDevPluginFcm.cc

index 05b4e6607ace64a45ac9181f528ecc8e929e1c40..035932e93624cc6aaf2da839530c8ddea594eb93 100644 (file)
@@ -328,9 +328,6 @@ public:
     // determine device name for underlying hardware
     std::set<std::string> 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;