summaryrefslogtreecommitdiff
path: root/tools/vgchange.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2018-07-01 12:03:23 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2018-07-09 15:29:16 +0200
commit12213445b5f86155665ed6f027082e93c4f6cf85 (patch)
treee5c6bea1afa05f019e3928dd7def8df6dd2fe50f /tools/vgchange.c
parent7b8aa4af57a8064ea3fa29355283aada2dac0db0 (diff)
downloadlvm2-12213445b5f86155665ed6f027082e93c4f6cf85.tar.gz
vgchange: vdo support
Support vgchange usage with VDO segtype. Also changing extent size need small update for vdo virtual extent. TODO: API needs enhancements so it's not about adding ifs() everywhere.
Diffstat (limited to 'tools/vgchange.c')
-rw-r--r--tools/vgchange.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/vgchange.c b/tools/vgchange.c
index c444c3026..fa0fd5365 100644
--- a/tools/vgchange.c
+++ b/tools/vgchange.c
@@ -107,6 +107,9 @@ static int _activate_lvs_in_vg(struct cmd_context *cmd, struct volume_group *vg,
if (lv_is_mirror_image(lv) || lv_is_mirror_log(lv))
continue;
+ if (lv_is_vdo_pool(lv))
+ continue;
+
if (lv_activation_skip(lv, activate, arg_is_set(cmd, ignoreactivationskip_ARG)))
continue;
@@ -219,7 +222,9 @@ int vgchange_activate(struct cmd_context *cmd, struct volume_group *vg,
if ((lv_open = lvs_in_vg_opened(vg))) {
dm_list_iterate_items(lvl, &vg->lvs) {
- if (lv_is_visible(lvl->lv) && !lv_check_not_in_use(lvl->lv, 1)) {
+ if (lv_is_visible(lvl->lv) &&
+ !lv_is_vdo_pool(lvl->lv) && // FIXME: API skip flag missing
+ !lv_check_not_in_use(lvl->lv, 1)) {
log_error("Can't deactivate volume group \"%s\" with %d open logical volume(s)",
vg->name, lv_open);
return 0;