]> sourceware.org Git - lvm2.git/commitdiff
raid: read segment only for known LV
authorZdenek Kabelac <zkabelac@redhat.com>
Sun, 21 Apr 2013 06:47:59 +0000 (08:47 +0200)
committerZdenek Kabelac <zkabelac@redhat.com>
Sun, 21 Apr 2013 21:07:00 +0000 (23:07 +0200)
Avoid reading first_seg() on unknown LV and find it only when needed.

tools/pvmove.c

index 575f2967d4a9ddca411960f202753d662f6e7b44..a733049c4818e561a3965e3b6032c018dacf57aa 100644 (file)
@@ -207,7 +207,6 @@ static struct logical_volume *_set_up_pvmove_lv(struct cmd_context *cmd,
        /* Find segments to be moved and set up mirrors */
        dm_list_iterate_items(lvl, &vg->lvs) {
                lv = lvl->lv;
-               seg = first_seg(lv);
                if (lv == lv_mirr)
                        continue;
                if (lv_name) {
@@ -220,14 +219,15 @@ static struct logical_volume *_set_up_pvmove_lv(struct cmd_context *cmd,
                        log_print_unless_silent("Skipping snapshot-related LV %s", lv->name);
                        continue;
                }
-               if (seg_is_raid(seg)) {
-                       lv_skipped = 1;
-                       log_print_unless_silent("Skipping %s LV %s",
-                                               seg->segtype->ops->name(seg),
-                                               lv->name);
-                       continue;
-               }
                if (lv_is_raid_type(lv)) {
+                       seg = first_seg(lv);
+                       if (seg_is_raid(seg)) {
+                               lv_skipped = 1;
+                               log_print_unless_silent("Skipping %s LV %s",
+                                                       seg->segtype->ops->name(seg),
+                                                       lv->name);
+                               continue;
+                       }
                        lv_skipped = 1;
                        log_print_unless_silent("Skipping RAID sub-LV %s",
                                                lv->name);
This page took 0.035935 seconds and 5 git commands to generate.