[libvirt] [PATCH] storage: Don't pass 'iso' format to qemu-img

Michal Privoznik mprivozn at redhat.com
Tue Mar 7 09:11:51 UTC 2017


On 03/06/2017 10:58 PM, Cole Robinson wrote:
> $ virsh vol-clone /tmp/test.iso new.iso
> error: Failed to clone vol from test.iso
> error: internal error: Child process (/bin/qemu-img convert -f iso -O iso /tmp/test.iso /tmp/new.iso) unexpected exit status 1: qemu-img: Could not open '/tmp/test.iso': Unknown driver 'iso'
> 
> Map iso->raw before sending the format value to qemu-img
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=972784
> https://bugzilla.redhat.com/show_bug.cgi?id=1419395
> ---
>  src/storage/storage_util.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c
> index 41253b9..bf6f0b3 100644
> --- a/src/storage/storage_util.c
> +++ b/src/storage/storage_util.c
> @@ -1009,6 +1009,8 @@ storageBackendCreateQemuImgSetInput(virStorageVolDefPtr inputvol,
>      info->inputFormat = inputvol->target.format;
>      if (inputvol->type == VIR_STORAGE_VOL_BLOCK)
>          info->inputFormat = VIR_STORAGE_FILE_RAW;
> +    if (info->inputFormat == VIR_STORAGE_FILE_ISO)
> +        info->inputFormat = VIR_STORAGE_FILE_RAW;
>      if (!(info->inputFormatStr =
>            virStorageFileFormatTypeToString(info->inputFormat))) {
>          virReportError(VIR_ERR_INTERNAL_ERROR,
> @@ -1175,6 +1177,9 @@ virStorageBackendCreateQemuImgCmdFromVol(virConnectPtr conn,
>      if (vol->type == VIR_STORAGE_VOL_BLOCK)
>          info.format = VIR_STORAGE_FILE_RAW;
>  
> +    if (info.format == VIR_STORAGE_FILE_ISO)
> +        info.format = VIR_STORAGE_FILE_RAW;
> +
>      if (!(type = virStorageFileFormatTypeToString(info.format))) {
>          virReportError(VIR_ERR_INTERNAL_ERROR,
>                         _("unknown storage vol type %d"),
> 

ACK

Michal




More information about the libvir-list mailing list