]> sourceware.org Git - lvm2.git/commitdiff
vg_validate: fix seg->extents_copied check introduced with
authorHeinz Mauelshagen <heinzm@redhat.com>
Wed, 27 Jul 2016 21:09:54 +0000 (23:09 +0200)
committerHeinz Mauelshagen <heinzm@redhat.com>
Wed, 27 Jul 2016 21:09:54 +0000 (23:09 +0200)
             commit 8f62b7bfe5 and add comment for the member
             to 'struct lv_segment'

lib/metadata/merge.c
lib/metadata/metadata-exported.h

index 8e7d107143db1504d7467bfe754c1bd55cf60e39..681ec72683baff78ca17caef253e71e7090f9a7c 100644 (file)
@@ -192,8 +192,6 @@ static void _check_non_raid_seg_members(struct lv_segment *seg, int *error_count
                raid_seg_error("non-zero cow LV");
        if (!dm_list_empty(&seg->origin_list)) /* snap */
                raid_seg_error("non-zero origin_list");
-       if (seg->extents_copied)
-               raid_seg_error("non-zero extents_copied");
        if (seg->log_lv)
                raid_seg_error("non-zero log LV");
        if (seg->segtype_private)
@@ -256,6 +254,9 @@ static void _check_raid_seg(struct lv_segment *seg, int *error_count)
        if (!seg->areas)
                raid_seg_error("zero areas");
 
+       if (seg->extents_copied > seg->area_len)
+               raid_seg_error_val("extents_copied too large", seg->extents_copied);
+
        /* Default still 8, change! */
        if (seg->area_count > DEFAULT_RAID_MAX_IMAGES) {
                log_error("LV %s invalid: maximum supported areas %u (is %u) for %s segment",
index ff879bbe3385c1aef409b8c1896a5ad728dca017..a8cbfa2fb29f5c662b3a0d770a2eabed79c4cc5f 100644 (file)
@@ -463,7 +463,7 @@ struct lv_segment {
        struct logical_volume *cow;
        struct dm_list origin_list;
        uint32_t region_size;   /* For mirrors, replicators - in sectors */
-       uint32_t extents_copied;
+       uint32_t extents_copied;/* Number of extents synced for raids/mirrors */
        struct logical_volume *log_lv;
        struct lv_segment *pvmove_source_seg;
        void *segtype_private;
This page took 0.04059 seconds and 5 git commands to generate.