Re: [Qemu-devel] [Qemu-block] [PATCH] vmdk: Set vmdk parent backing_format to vmdk

2019-05-02 Thread Thomas Huth
On 27/03/2019 10.28, Sam Eiderman wrote:
> Thanks,
> 
> Also please notice that the mentioned commit in the commit message has it’s 
> commit id changed to b69864e.
> 
> Sam
> 
>> On 27 Mar 2019, at 2:35, Eric Blake  wrote:
>>
>> On 3/26/19 2:58 PM, Sam Eiderman wrote:
>>> Commit fb2105b ("vmdk: Support version=3 in VMDK descriptor files") fixed
>>> the probe function to correctly guess vmdk descriptors with version=3.
>>
>> All patches need to cc qemu-devel in addition to their maintainers (I've
>> added that now).
>>
>>>
>>> This solves the issue where vmdk snapshot with parent vmdk descriptor
>>> containing "version=3" would be treated as raw instead vmdk.
>>>
>>> In the future case where a new vmdk version is introduced, we will again
>>> experience this issue, even if the user will provide "-f vmdk" it will
>>> only apply to the tip image and not to the underlying "misprobed" parent
>>> image.
>>>
>>> The code in vmdk.c already assumes that the backing file of vmdk must be
>>> vmdk (see vmdk_is_cid_valid which returns 0 if backing file is not
>>> vmdk).
>>>
>>> So let's make it official by supplying the backing_format as vmdk.
>>>
>>> Reviewed-by: Mark Kanda 
>>> Reviewed-By: Liran Alon 
>>> Reviewed-by: Arbel Moshe 
>>> Signed-off-by: Shmuel Eiderman 
>>> ---
>>> block/vmdk.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/block/vmdk.c b/block/vmdk.c
>>> index 8dec6ef767..de8cb859f8 100644
>>> --- a/block/vmdk.c
>>> +++ b/block/vmdk.c
>>> @@ -397,6 +397,8 @@ static int vmdk_parent_open(BlockDriverState *bs)
>>> pstrcpy(bs->auto_backing_file, end_name - p_name + 1, p_name);
>>> pstrcpy(bs->backing_file, sizeof(bs->backing_file),
>>> bs->auto_backing_file);
>>> +pstrcpy(bs->backing_format, sizeof(bs->backing_format),
>>> +"vmdk");
>>> }

 Hi,

this patch broke the vmdk qemu-iotests:

$ cd tests/qemu-iotests/ ; ./check -vmdk 110 126 ; cd ../..
[...]
110 0s ... - output mismatch (see 110.out.bad)
--- /home/thuth/devel/qemu/tests/qemu-iotests/110.out   2019-05-02
11:27:41.0 +0200
+++ /home/thuth/tmp/qemu-build/tests/qemu-iotests/110.out.bad   2019-05-02
11:27:54.0 +0200
@@ -8,6 +8,7 @@
 file format: IMGFMT
 virtual size: 64M (67108864 bytes)
 backing file: t.IMGFMT.base (actual path: TEST_DIR/t.IMGFMT.base)
+backing file format: IMGFMT

 === Non-reconstructable filename ===

@@ -15,6 +16,7 @@
 file format: IMGFMT
 virtual size: 64M (67108864 bytes)
 backing file: t.IMGFMT.base (actual path: TEST_DIR/t.IMGFMT.base)
+backing file format: IMGFMT

 === Backing name is always relative to the backed image ===

@@ -26,4 +28,5 @@
 file format: IMGFMT
 virtual size: 64M (67108864 bytes)
 backing file: t.IMGFMT.base (cannot determine actual path)
+backing file format: IMGFMT
 *** done
126 0s ... - output mismatch (see 126.out.bad)
--- /home/thuth/devel/qemu/tests/qemu-iotests/126.out   2019-05-02
11:27:41.0 +0200
+++ /home/thuth/tmp/qemu-build/tests/qemu-iotests/126.out.bad   2019-05-02
11:27:55.0 +0200
@@ -13,6 +13,7 @@
 file format: IMGFMT
 virtual size: 64M (67108864 bytes)
 backing file: ./image:base.IMGFMT (actual path:
TEST_DIR/./image:base.IMGFMT)
+backing file format: IMGFMT

 Formatting 'base.IMGFMT', fmt=IMGFMT size=67108864
 Formatting 'file:image:top.IMGFMT', fmt=IMGFMT size=67108864
backing_file=base.IMGFMT
@@ -20,4 +21,5 @@
 file format: IMGFMT
 virtual size: 64M (67108864 bytes)
 backing file: base.IMGFMT (actual path: ./base.IMGFMT)
+backing file format: IMGFMT
 *** done
Failures: 110 126
Failed 2 of 2 tests

Could you please send a patch to fix this?

 Thanks,
  Thomas



Re: [Qemu-devel] [Qemu-block] [PATCH] vmdk: Set vmdk parent backing_format to vmdk

2019-03-27 Thread Sam Eiderman
Thanks,

Also please notice that the mentioned commit in the commit message has it’s 
commit id changed to b69864e.

Sam

> On 27 Mar 2019, at 2:35, Eric Blake  wrote:
> 
> On 3/26/19 2:58 PM, Sam Eiderman wrote:
>> Commit fb2105b ("vmdk: Support version=3 in VMDK descriptor files") fixed
>> the probe function to correctly guess vmdk descriptors with version=3.
> 
> All patches need to cc qemu-devel in addition to their maintainers (I've
> added that now).
> 
>> 
>> This solves the issue where vmdk snapshot with parent vmdk descriptor
>> containing "version=3" would be treated as raw instead vmdk.
>> 
>> In the future case where a new vmdk version is introduced, we will again
>> experience this issue, even if the user will provide "-f vmdk" it will
>> only apply to the tip image and not to the underlying "misprobed" parent
>> image.
>> 
>> The code in vmdk.c already assumes that the backing file of vmdk must be
>> vmdk (see vmdk_is_cid_valid which returns 0 if backing file is not
>> vmdk).
>> 
>> So let's make it official by supplying the backing_format as vmdk.
>> 
>> Reviewed-by: Mark Kanda 
>> Reviewed-By: Liran Alon 
>> Reviewed-by: Arbel Moshe 
>> Signed-off-by: Shmuel Eiderman 
>> ---
>> block/vmdk.c | 2 ++
>> 1 file changed, 2 insertions(+)
>> 
>> diff --git a/block/vmdk.c b/block/vmdk.c
>> index 8dec6ef767..de8cb859f8 100644
>> --- a/block/vmdk.c
>> +++ b/block/vmdk.c
>> @@ -397,6 +397,8 @@ static int vmdk_parent_open(BlockDriverState *bs)
>> pstrcpy(bs->auto_backing_file, end_name - p_name + 1, p_name);
>> pstrcpy(bs->backing_file, sizeof(bs->backing_file),
>> bs->auto_backing_file);
>> +pstrcpy(bs->backing_format, sizeof(bs->backing_format),
>> +"vmdk");
>> }
> 
> Reviewed-by: Eric Blake mailto:ebl...@redhat.com>>
> 
> Makes sense for 4.0-rc2.
> 
> -- 
> Eric Blake, Principal Software Engineer
> Red Hat, Inc.   +1-919-301-3226
> Virtualization:  qemu.org  | libvirt.org 
> 


Re: [Qemu-devel] [Qemu-block] [PATCH] vmdk: Set vmdk parent backing_format to vmdk

2019-03-26 Thread Eric Blake
On 3/26/19 2:58 PM, Sam Eiderman wrote:
> Commit fb2105b ("vmdk: Support version=3 in VMDK descriptor files") fixed
> the probe function to correctly guess vmdk descriptors with version=3.

All patches need to cc qemu-devel in addition to their maintainers (I've
added that now).

> 
> This solves the issue where vmdk snapshot with parent vmdk descriptor
> containing "version=3" would be treated as raw instead vmdk.
> 
> In the future case where a new vmdk version is introduced, we will again
> experience this issue, even if the user will provide "-f vmdk" it will
> only apply to the tip image and not to the underlying "misprobed" parent
> image.
> 
> The code in vmdk.c already assumes that the backing file of vmdk must be
> vmdk (see vmdk_is_cid_valid which returns 0 if backing file is not
> vmdk).
> 
> So let's make it official by supplying the backing_format as vmdk.
> 
> Reviewed-by: Mark Kanda 
> Reviewed-By: Liran Alon 
> Reviewed-by: Arbel Moshe 
> Signed-off-by: Shmuel Eiderman 
> ---
>  block/vmdk.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/block/vmdk.c b/block/vmdk.c
> index 8dec6ef767..de8cb859f8 100644
> --- a/block/vmdk.c
> +++ b/block/vmdk.c
> @@ -397,6 +397,8 @@ static int vmdk_parent_open(BlockDriverState *bs)
>  pstrcpy(bs->auto_backing_file, end_name - p_name + 1, p_name);
>  pstrcpy(bs->backing_file, sizeof(bs->backing_file),
>  bs->auto_backing_file);
> +pstrcpy(bs->backing_format, sizeof(bs->backing_format),
> +"vmdk");
>  }

Reviewed-by: Eric Blake 

Makes sense for 4.0-rc2.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3226
Virtualization:  qemu.org | libvirt.org



signature.asc
Description: OpenPGP digital signature