diff options
author | Mike Snitzer <snitzer@redhat.com> | 2010-03-20 03:44:04 +0000 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2010-03-20 03:44:04 +0000 |
commit | fd817ff34a0ff9913e8797737f8fbd72ac9d2ead (patch) | |
tree | 17eccda34ccdf276f19143c4f19d5d4f5819182b /tools/lvresize.c | |
parent | 94ff21b4f10d9237875a626df48ddadb2bd807ce (diff) | |
download | lvm2-fd817ff34a0ff9913e8797737f8fbd72ac9d2ead.tar.gz lvm2-fd817ff34a0ff9913e8797737f8fbd72ac9d2ead.tar.xz lvm2-fd817ff34a0ff9913e8797737f8fbd72ac9d2ead.zip |
Don't allow resizing of internal logical volumes.
Prevent lvresize from being able to resize internal LVs: mirror legs
(*_mimage_*), mirror log (*_mlog), snapshot placeholder LVs (snapshot*)
and others. Resizing these would leads to unexpected metadata and
sometimes crashes (in case of growing snapshot*).
Diffstat (limited to 'tools/lvresize.c')
-rw-r--r-- | tools/lvresize.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/lvresize.c b/tools/lvresize.c index 849fd2ef..1a96f82a 100644 --- a/tools/lvresize.c +++ b/tools/lvresize.c @@ -323,6 +323,11 @@ static int _lvresize(struct cmd_context *cmd, struct volume_group *vg, lv = lvl->lv; + if (!lv_is_visible(lv)) { + log_error("Can't resize internal logical volume %s", lv->name); + return ECMD_FAILED; + } + if (lv->status & LOCKED) { log_error("Can't resize locked LV %s", lv->name); return ECMD_FAILED; |