summaryrefslogtreecommitdiffstats
path: root/lib/metadata/snapshot_manip.c
diff options
context:
space:
mode:
authorMilan Broz <mbroz@redhat.com>2009-05-13 21:26:45 +0000
committerMilan Broz <mbroz@redhat.com>2009-05-13 21:26:45 +0000
commit59d8429cb30a9e6c46d9d66581f8993d83eb1580 (patch)
tree761dffab8f755056af686dfce9b4b334eddcd2d6 /lib/metadata/snapshot_manip.c
parentb14c5af76d0c3f6017f825981b9749324ed70fd8 (diff)
downloadlvm2-59d8429cb30a9e6c46d9d66581f8993d83eb1580.tar.gz
lvm2-59d8429cb30a9e6c46d9d66581f8993d83eb1580.tar.xz
lvm2-59d8429cb30a9e6c46d9d66581f8993d83eb1580.zip
Introduce lv_set_visible & lv_set_invisible and use lv_is_visible always.
The vg->lv_count parameter now includes always number of visible logical volumes. Note that virtual snapshot volume (snapshotX) is never visible, but it is stored in metadata with visible flag.
Diffstat (limited to 'lib/metadata/snapshot_manip.c')
-rw-r--r--lib/metadata/snapshot_manip.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/metadata/snapshot_manip.c b/lib/metadata/snapshot_manip.c
index 0509fe0a..36765626 100644
--- a/lib/metadata/snapshot_manip.c
+++ b/lib/metadata/snapshot_manip.c
@@ -76,7 +76,8 @@ void init_snapshot_seg(struct lv_segment *seg, struct logical_volume *origin,
seg->origin = origin;
seg->cow = cow;
- cow->status &= ~VISIBLE_LV;
+ lv_set_invisible(cow);
+
cow->snapshot = seg;
origin->origin_count++;
@@ -137,7 +138,7 @@ int vg_remove_snapshot(struct logical_volume *cow)
}
cow->snapshot = NULL;
- cow->status |= VISIBLE_LV;
+ lv_set_visible(cow);
return 1;
}