]> xenbits.xensource.com Git - 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)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 18 Jan 2013 07:06:01 +0000 (08:06 +0100)
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>
src/storage/storage_backend_logical.c

index 91db3fd43643071a5408f84d3fe85fecff609e15..bb709df706bab8a729feaa1cdb4f2a2e098820a0 100644 (file)
@@ -736,7 +736,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);