summaryrefslogtreecommitdiff
path: root/lib/metadata/vg.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/metadata/vg.c')
-rw-r--r--lib/metadata/vg.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/metadata/vg.c b/lib/metadata/vg.c
index d50a88ebc..a23b4b6b9 100644
--- a/lib/metadata/vg.c
+++ b/lib/metadata/vg.c
@@ -635,8 +635,10 @@ int vg_set_lock_type(struct volume_group *vg, const char *lock_type)
return 0;
}
- if (is_lockd_type(lock_type))
- vg->status |= LOCK_TYPE;
+ if (is_lockd_type(lock_type)) {
+ vg->status |= LVM_WRITE_LOCKD;
+ vg->status &= ~LVM_WRITE;
+ }
return 1;
}
@@ -650,7 +652,7 @@ char *vg_attr_dup(struct dm_pool *mem, const struct volume_group *vg)
return NULL;
}
- repstr[0] = (vg->status & LVM_WRITE) ? 'w' : 'r';
+ repstr[0] = ((vg->status & LVM_WRITE) || (vg->status & LVM_WRITE_LOCKD)) ? 'w' : 'r';
repstr[1] = (vg_is_resizeable(vg)) ? 'z' : '-';
repstr[2] = (vg_is_exported(vg)) ? 'x' : '-';
repstr[3] = (vg_missing_pv_count(vg)) ? 'p' : '-';