From: Cole Robinson Date: Wed, 17 Oct 2012 00:30:23 +0000 (-0400) Subject: storage: lvm: lvcreate fails with allocation=0, don't do that X-Git-Tag: v1.0.0-rc1~83 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f0e9cba27b3e2b8409f2ce1c0ed4d24d677be9b;p=thirdparty%2Flibvirt.git 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 --- diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index eebeec1ba8..de43c3a429 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));