]> sourceware.org Git - lvm2.git/commitdiff
lvs: show status for layer
authorZdenek Kabelac <zkabelac@redhat.com>
Sat, 17 Dec 2016 20:54:51 +0000 (21:54 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Sun, 18 Dec 2016 18:12:12 +0000 (19:12 +0100)
When LV is external origin, show info for LV but
status for -layer.  So we expose more info to a user
as otherwise active external origin is only linear
mapping of -real layer.

We do the same for i.e. old snaphost origin.

WHATS_NEW
lib/activate/activate.c

index eee6e98eda2d836e48ab510ec23066b1e126597f..93fc93e6fa61fc9816cd89b7f5ebeeb105cdc9f3 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.169 - 
 =====================================
+  Improve reported lvs status for active external origin volume.
   Fix table load for splitted RAID LV and require explicit activation.
   Always active splitted RAID LV exclusively locally.
   Do not use LV RAID status bit for segment status.
index b4c8a2c5a7d246ce52634e58a951211d13b586e7..c554337d85227eccc47052a2567ae808c96d5be0 100644 (file)
@@ -784,6 +784,13 @@ int lv_info_with_seg_status(struct cmd_context *cmd,
                                status->info.exists = 0; /* So pool LV is not active */
                }
                return 1;
+       } else if (lv_is_external_origin(lv)) {
+               if (!_lv_info(cmd, lv, 0, &status->info, NULL, NULL,
+                             with_open_count, with_read_ahead))
+                       return_0;
+
+               (void) _lv_info(cmd, lv, 1, NULL, lv_seg, &status->seg_status, 0, 0);
+               return 1;
        } else if (lv_is_origin(lv)) {
                /* Query segment status for 'layered' (-real) device most of the time,
                 * only for merging snapshot, query its progress.
This page took 0.041618 seconds and 5 git commands to generate.