[libvirt] [PATCH] storage: Don't pass 'iso' format to qemu-img
Cole Robinson
crobinso at redhat.com
Tue Mar 7 16:00:19 UTC 2017
On 03/07/2017 04:22 AM, Pavel Hrdina wrote:
> On Mon, Mar 06, 2017 at 04:58:52PM -0500, 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"),
>
> This could use a test case in storagevolxml2argvtest.
>
> ACK to the changes.
>
Thanks, I didn't know about those tests. I've sent a follow up patch
- Cole
More information about the libvir-list
mailing list