]> sourceware.org Git - lvm2.git/commitdiff
restrict dm_tree_node_add_null_area
authorAlasdair Kergon <agk@redhat.com>
Fri, 19 Aug 2011 16:26:02 +0000 (16:26 +0000)
committerAlasdair Kergon <agk@redhat.com>
Fri, 19 Aug 2011 16:26:02 +0000 (16:26 +0000)
WHATS_NEW_DM
libdm/libdevmapper.h
libdm/libdm-deptree.c

index a07ab66c02dc494715fac1cd26d821ce71ac374c..beaa38d1a6386d4de57099fd511a2fb6d90345a3 100644 (file)
@@ -1,5 +1,6 @@
 Version 1.02.67 - 
 ==================================
+  Add dm_tree_node_add_null_area for temporarily-missing raid devs tracked.
 
 Version 1.02.66 - 12th August 2011
 ==================================
index 3c49f7c1ddc12159ced016f3dd296dda7c39177e..ea75376b319fa38e8e84670fbd4f4d027307d4fd 100644 (file)
@@ -516,6 +516,10 @@ int dm_tree_node_add_target_area(struct dm_tree_node *node,
                                    const char *dev_name,
                                    const char *dlid,
                                    uint64_t offset);
+
+/*
+ * Only for temporarily-missing raid devices where changes are tracked.
+ */
 int dm_tree_node_add_null_area(struct dm_tree_node *node, uint64_t offset);
 
 /*
index 0ee78676cb335c8821c4438eaff6da4e89611c84..66508b3d96dc37df45e99be9fad3725245534ba6 100644 (file)
@@ -2629,6 +2629,22 @@ int dm_tree_node_add_null_area(struct dm_tree_node *node, uint64_t offset)
 
        seg = dm_list_item(dm_list_last(&node->props.segs), struct load_segment);
 
+       switch (seg->type) {
+       case SEG_RAID1:
+       case SEG_RAID4:
+       case SEG_RAID5_LA:
+       case SEG_RAID5_RA:
+       case SEG_RAID5_LS:
+       case SEG_RAID5_RS:
+       case SEG_RAID6_ZR:
+       case SEG_RAID6_NR:
+       case SEG_RAID6_NC:
+               break;
+       default:
+               log_error("dm_tree_node_add_null_area() called on an unsupported segment type");
+               return 0;
+       }
+
        if (!_add_area(node, seg, NULL, offset))
                return_0;
 
This page took 0.044593 seconds and 5 git commands to generate.