]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: Fix lvcreate parameter for backingStore.
authorAtsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
Fri, 18 Jan 2013 07:06:01 +0000 (08:06 +0100)
committerJán Tomko <jtomko@redhat.com>
Mon, 22 Apr 2013 17:54:59 +0000 (19:54 +0200)
When virStorageBackendLogicalCreateVol() creates a snapshot for a
logical volume with backingStore element, it fails with the message
below:

  2013-01-17 03:10:18.869+0000: 1967: error : virCommandWait:2345 :
  internal error Child process (/sbin/lvcreate --name lvm-snapshot -L 51200K
  -s=/dev/lvm-pool/lvm-volume) unexpected exit status 3: /sbin/lvcreate:
  invalid option -- '='  Error during parsing of command line.

This is because virCommandAddArgPair() uses '=' to connect the two
parameters, it's unsuitable for -s option of the lvcreate.

Signed-off-by: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
(cherry picked from commit ffee627a4a52bf13d787cec883054fe2e7d9465c)

src/storage/storage_backend_logical.c

index fd5cbd12d8bfa0d1592769de567749d485d852e6..c21cb45e300c7b3a14549aa5383bae3b447a257a 100644 (file)
@@ -733,7 +733,7 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn,
     }
     virCommandAddArgFormat(cmd, "%lluK", VIR_DIV_UP(vol->capacity, 1024));
     if (vol->backingStore.path)
-        virCommandAddArgPair(cmd, "-s", vol->backingStore.path);
+        virCommandAddArgList(cmd, "-s", vol->backingStore.path, NULL);
     else
         virCommandAddArg(cmd, pool->def->source.name);