From: Adam Kupczyk Date: Thu, 25 Sep 2025 07:03:12 +0000 (-0400) Subject: extblkdev/fcm: Refuse to operate on multimedia lvm block devices X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4f85256062af71bc33554ed5664bb4d6bfd5dfa7;p=ceph.git extblkdev/fcm: Refuse to operate on multimedia lvm block devices BlueStore is selecting were data is put to the device. Merging 2 FCM devices together means that BlueStore will see free space on one of the devices, but not know the other is full and asking to put data there. It will cause -ENOSPC while free space is reported. Signed-off-by: Adam Kupczyk --- diff --git a/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc b/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc index 957c056f2884..06ef9ecefb89 100644 --- a/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc +++ b/src/extblkdev/fcm/ExtBlkDevPluginFcm.cc @@ -296,6 +296,9 @@ 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;