]> sourceware.org Git - lvm2.git/commitdiff
Thin for_each_sub_lv
authorZdenek Kabelac <zkabelac@redhat.com>
Thu, 26 Jan 2012 21:39:32 +0000 (21:39 +0000)
committerZdenek Kabelac <zkabelac@redhat.com>
Thu, 26 Jan 2012 21:39:32 +0000 (21:39 +0000)
Adapt to scan thin dependency LVs

lib/metadata/lv_manip.c

index 400e446bf40918d23b8ce7c9122c2b7672a93019..19f3231bab347e287165eaa365428b414685b969 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
- * Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
+ * Copyright (C) 2004-2012 Red Hat, Inc. All rights reserved.
  *
  * This file is part of LVM2.
  *
@@ -2784,8 +2784,21 @@ int for_each_sub_lv(struct cmd_context *cmd, struct logical_volume *lv,
                        if (!for_each_sub_lv(cmd, seg->log_lv, fn, data))
                                return_0;
                }
-               if (seg->metadata_lv && !fn(cmd, seg->metadata_lv, data))
-                       return_0;
+
+               if (seg->pool_lv) {
+                       if (!fn(cmd, seg->pool_lv, data))
+                               return_0;
+                       if (!for_each_sub_lv(cmd, seg->pool_lv, fn, data))
+                               return_0;
+               }
+
+               if (seg->metadata_lv) {
+                       if (!fn(cmd, seg->metadata_lv, data))
+                               return_0;
+                       if (!for_each_sub_lv(cmd, seg->metadata_lv, fn, data))
+                               return_0;
+               }
+
                for (s = 0; s < seg->area_count; s++) {
                        if (seg_type(seg, s) != AREA_LV)
                                continue;
This page took 0.04264 seconds and 5 git commands to generate.