]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seasotre/segment_manager_group: ensure the types of devices are same
authorZhang Song <zhangsong325@gmail.com>
Wed, 1 Mar 2023 10:19:54 +0000 (18:19 +0800)
committerMatan Breizman <mbreizma@redhat.com>
Tue, 23 May 2023 08:09:21 +0000 (08:09 +0000)
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 61156355385aaa06cf9d15870a8830256874714d)

src/crimson/os/seastore/segment_manager_group.h

index 9a5729515b8db8ad037d4f45b41a3241a5ee9d2a..bd5af9601a5673657fcbc7d84f10f72d751868a9 100644 (file)
@@ -35,6 +35,11 @@ public:
   void add_segment_manager(SegmentManager* segment_manager) {
     auto device_id = segment_manager->get_device_id();
     ceph_assert(!has_device(device_id));
+    if (!device_ids.empty()) {
+      auto existing_id = *device_ids.begin();
+      ceph_assert(segment_managers[existing_id]->get_device_type()
+                  == segment_manager->get_device_type());
+    }
     segment_managers[device_id] = segment_manager;
     device_ids.insert(device_id);
   }