summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCole Robinson <crobinso@redhat.com>2012-10-16 20:30:23 -0400
committerDoug Goldstein <cardoe@cardoe.com>2012-10-16 22:56:00 -0500
commit29265571200f4258dc1493aafd6beb848a027efb (patch)
treeafc0e156ad00bd2581b56902416656053c890049
parentstorage: lvm: Don't overwrite lvcreate errors (diff)
downloadlibvirt-29265571200f4258dc1493aafd6beb848a027efb.tar.gz
libvirt-29265571200f4258dc1493aafd6beb848a027efb.tar.bz2
libvirt-29265571200f4258dc1493aafd6beb848a027efb.zip
storage: lvm: lvcreate fails with allocation=0, don't do that
On F17 at least, this command fails: $ sudo /usr/sbin/lvcreate --name sparsetest -L 0K --virtualsize 16384K vgvirt Unable to create new logical volume with no extents Which is unfortunate since allocation=0 is what virt-manager tries to use by default. Rather than telling the user 'don't do that', let's just give them the smallest allocation possible if alloc=0 is requested. https://bugzilla.redhat.com/show_bug.cgi?id=866481
-rw-r--r--src/storage/storage_backend_logical.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c
index eebeec1ba..de43c3a42 100644
--- a/src/storage/storage_backend_logical.c
+++ b/src/storage/storage_backend_logical.c
@@ -725,7 +725,8 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn,
NULL);
virCommandAddArg(cmd, "-L");
if (vol->capacity != vol->allocation) {
- virCommandAddArgFormat(cmd, "%lluK", VIR_DIV_UP(vol->allocation, 1024));
+ virCommandAddArgFormat(cmd, "%lluK",
+ VIR_DIV_UP(vol->allocation ? vol->allocation : 1, 1024));
virCommandAddArg(cmd, "--virtualsize");
}
virCommandAddArgFormat(cmd, "%lluK", VIR_DIV_UP(vol->capacity, 1024));