]> sourceware.org Git - lvm2.git/commitdiff
Don't allow resizing of internal logical volumes.
authorMike Snitzer <snitzer@redhat.com>
Sat, 20 Mar 2010 03:44:04 +0000 (03:44 +0000)
committerMike Snitzer <snitzer@redhat.com>
Sat, 20 Mar 2010 03:44:04 +0000 (03:44 +0000)
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*).

WHATS_NEW
tools/lvresize.c

index 47536018a2b3e2157504732d71015920d6f8d7b3..9a073b251169a0ee6280fd4fe19ce2cb90a8dc8b 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.63 - 
 ================================
+  Don't allow resizing of internal logical volumes.
   Fix libdevmapper-event pkgconfig version string to match libdevmapper.
   Avoid scanning all pvs in the system if operating on a device with mdas.
   Add configure --with-clvmd=singlenode to use clvmd w/o cluster infrastructure.
index 849fd2efe0a5f5fb2c8fbec2ee6a34134ccdba13..1a96f82a472ede8e69e98faae25a7243bccc484e 100644 (file)
@@ -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;
This page took 0.034351 seconds and 5 git commands to generate.