]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
extblkdev/fcm: Refuse to operate on multimedia lvm block devices
authorAdam Kupczyk <akupczyk@ibm.com>
Thu, 25 Sep 2025 07:03:12 +0000 (03:03 -0400)
committerAdam Kupczyk <akupczyk@ibm.com>
Mon, 4 May 2026 16:09:12 +0000 (16:09 +0000)
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 <akupczyk@ibm.com>
(cherry picked from commit 4f85256062af71bc33554ed5664bb4d6bfd5dfa7)

src/extblkdev/fcm/ExtBlkDevPluginFcm.cc

index 957c056f288474947065e90f8f0bc271c6a23ee8..06ef9ecefb897110def698d56c370d96a5e05995 100644 (file)
@@ -296,6 +296,9 @@ 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;