mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
storage: Fix volume cloning for logical volume.
When creating a logical volume with virStorageVolCreateXMLFrom, "qemu-img convert" is called internally if clonevol is a file volume. Then, vol->target.format is used as output_fmt parameter but the target.format of logical volumes is always 0 because logical volumes haven't the volume format type element. Fortunately, 0 was treated as RAW file format before commit f772b3d9, so there was no problem. But now, 0 is treated as the type of none, qemu-img fails with "Unknown file format 'none'". This patch fixes this issue by treating output block devices as RAW file format like for input block devices. Signed-off-by: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
This commit is contained in:
parent
ea151935bb
commit
d369e50825
@ -652,7 +652,12 @@ virStorageBackendCreateQemuImgCmd(virConnectPtr conn,
|
||||
unsigned long long int size_arg;
|
||||
bool preallocate = false;
|
||||
|
||||
const char *type = virStorageFileFormatTypeToString(vol->target.format);
|
||||
/* Treat output block devices as 'raw' format */
|
||||
const char *type =
|
||||
virStorageFileFormatTypeToString(vol->type == VIR_STORAGE_VOL_BLOCK ?
|
||||
VIR_STORAGE_FILE_RAW :
|
||||
vol->target.format);
|
||||
|
||||
const char *backingType = vol->backingStore.path ?
|
||||
virStorageFileFormatTypeToString(vol->backingStore.format) : NULL;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user