summaryrefslogtreecommitdiffstats
path: root/lib/format1/disk-rep.c
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2006-04-11 17:42:15 +0000
committerAlasdair Kergon <agk@redhat.com>2006-04-11 17:42:15 +0000
commitf084e627cc5847aa1f08e25b654b6f9512a5b39d (patch)
treef838990c8854b704c4d72dcfe97c4e8bd6e151db /lib/format1/disk-rep.c
parentf9c232c2eebf02608b50cbde07c1674c211e9313 (diff)
downloadlvm2-f084e627cc5847aa1f08e25b654b6f9512a5b39d.tar.gz
lvm2-f084e627cc5847aa1f08e25b654b6f9512a5b39d.tar.xz
lvm2-f084e627cc5847aa1f08e25b654b6f9512a5b39d.zip
When scanning, also record whether or not VG is exported.
Diffstat (limited to 'lib/format1/disk-rep.c')
-rw-r--r--lib/format1/disk-rep.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/format1/disk-rep.c b/lib/format1/disk-rep.c
index af76b8fa..f62b7897 100644
--- a/lib/format1/disk-rep.c
+++ b/lib/format1/disk-rep.c
@@ -321,12 +321,14 @@ static int _read_extents(struct disk_list *data)
static void __update_lvmcache(const struct format_type *fmt,
struct disk_list *dl,
- struct device *dev, const char *vgid)
+ struct device *dev, const char *vgid,
+ int exported)
{
struct lvmcache_info *info;
if (!(info = lvmcache_add(fmt->labeller, dl->pvd.pv_uuid, dev,
- dl->pvd.vg_name, vgid))) {
+ dl->pvd.vg_name, vgid,
+ exported ? EXPORTED_VG : 0))) {
stack;
return;
}
@@ -364,24 +366,25 @@ static struct disk_list *__read_disk(const struct format_type *fmt,
if (!*dl->pvd.vg_name) {
log_very_verbose("%s is not a member of any format1 VG", name);
- __update_lvmcache(fmt, dl, dev, NULL);
+ __update_lvmcache(fmt, dl, dev, NULL, 0);
return (vg_name) ? NULL : dl;
}
if (!read_vgd(dl->dev, &dl->vgd, &dl->pvd)) {
log_error("Failed to read VG data from PV (%s)", name);
- __update_lvmcache(fmt, dl, dev, NULL);
+ __update_lvmcache(fmt, dl, dev, NULL, 0);
goto bad;
}
if (vg_name && strcmp(vg_name, dl->pvd.vg_name)) {
log_very_verbose("%s is not a member of the VG %s",
name, vg_name);
- __update_lvmcache(fmt, dl, dev, NULL);
+ __update_lvmcache(fmt, dl, dev, NULL, 0);
goto bad;
}
- __update_lvmcache(fmt, dl, dev, dl->vgd.vg_uuid);
+ __update_lvmcache(fmt, dl, dev, dl->vgd.vg_uuid,
+ dl->vgd.vg_status & VG_EXPORTED);
if (!_read_uuids(dl)) {
log_error("Failed to read PV uuid list from %s", name);