All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [Qemu-block] [PATCH] vmdk: Set vmdk parent backing_format to vmdk
       [not found]   ` <AC82FB5B-34EF-453F-B4CB-33F1BBF58623@oracle.com>
@ 2019-05-02  9:31     ` Thomas Huth
  2019-05-02 13:08       ` [Qemu-devel] [PATCH v2] " Sam Eiderman
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Huth @ 2019-05-02  9:31 UTC (permalink / raw)
  To: Sam Eiderman, Eric Blake
  Cc: fam, kwolf, qemu-block, arbel.moshe, QEMU, mreitz, liran.alon,
	yoav.elnekave

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 <eblake@redhat.com> 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 <mark.kanda@oracle.com>
>>> Reviewed-By: Liran Alon <liran.alon@oracle.com>
>>> Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
>>> Signed-off-by: Shmuel Eiderman <shmuel.eiderman@oracle.com>
>>> ---
>>> 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.000000000 +0200
+++ /home/thuth/tmp/qemu-build/tests/qemu-iotests/110.out.bad	2019-05-02
11:27:54.000000000 +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.000000000 +0200
+++ /home/thuth/tmp/qemu-build/tests/qemu-iotests/126.out.bad	2019-05-02
11:27:55.000000000 +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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
  2019-05-02  9:31     ` [Qemu-devel] [Qemu-block] [PATCH] vmdk: Set vmdk parent backing_format to vmdk Thomas Huth
@ 2019-05-02 13:08       ` Sam Eiderman
  2019-05-02 13:08         ` Sam Eiderman
  0 siblings, 1 reply; 9+ messages in thread
From: Sam Eiderman @ 2019-05-02 13:08 UTC (permalink / raw)
  To: kwolf, mreitz, qemu-block, qemu-devel, thuth, fam, eblake
  Cc: shmuel.eiderman, arbel.moshe

Fixing broken iotests 110 and and 126 by filtering out
"backing file format" as Max suggested.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
  2019-05-02 13:08       ` [Qemu-devel] [PATCH v2] " Sam Eiderman
@ 2019-05-02 13:08         ` Sam Eiderman
  2019-05-03 11:34           ` Thomas Huth
  0 siblings, 1 reply; 9+ messages in thread
From: Sam Eiderman @ 2019-05-02 13:08 UTC (permalink / raw)
  To: kwolf, mreitz, qemu-block, qemu-devel, thuth, fam, eblake
  Cc: shmuel.eiderman, arbel.moshe

Commit b69864e ("vmdk: Support version=3 in VMDK descriptor files")
fixed the probe function to correctly guess vmdk descriptors with
version=3.

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 <mark.kanda@oracle.com>
Reviewed-By: Liran Alon <liran.alon@oracle.com>
Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
Signed-off-by: Shmuel Eiderman <shmuel.eiderman@oracle.com>
---
 block/vmdk.c           | 2 ++
 tests/qemu-iotests/110 | 6 +++---
 tests/qemu-iotests/126 | 4 ++--
 3 files changed, 7 insertions(+), 5 deletions(-)

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");
     }
 
 out:
diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110
index fad672c1ae..982569dbc5 100755
--- a/tests/qemu-iotests/110
+++ b/tests/qemu-iotests/110
@@ -54,7 +54,7 @@ _make_test_img -b "$TEST_IMG_REL.base" 64M
 # qemu should be able to reconstruct the filename, so relative backing names
 # should work
 TEST_IMG="json:{'driver':'$IMGFMT','file':{'driver':'file','filename':'$TEST_IMG'}}" \
-    _img_info | _filter_img_info
+    _img_info | _filter_img_info | grep -v "backing file format"
 
 echo
 echo '=== Non-reconstructable filename ==='
@@ -78,7 +78,7 @@ TEST_IMG="json:{
             }
         ]
     }
-}" _img_info | _filter_img_info
+}" _img_info | _filter_img_info | grep -v "backing file format"
 
 echo
 echo '=== Backing name is always relative to the backed image ==='
@@ -110,7 +110,7 @@ TEST_IMG="json:{
             }
         ]
     }
-}" _img_info | _filter_img_info
+}" _img_info | _filter_img_info | grep -v "backing file format"
 
 
 # success, all done
diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126
index 96dc048d59..1f7618c8a5 100755
--- a/tests/qemu-iotests/126
+++ b/tests/qemu-iotests/126
@@ -63,7 +63,7 @@ TEST_IMG=$BASE_IMG _make_test_img 64M
 TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT
 
 # The default cluster size depends on the image format
-TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
+TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
 
 _rm_test_img "$BASE_IMG"
 _rm_test_img "$TOP_IMG"
@@ -79,7 +79,7 @@ TOP_IMG="file:image:top.$IMGFMT"
 TEST_IMG=$BASE_IMG _make_test_img 64M
 TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG"
 
-TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
+TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
 
 _rm_test_img "$BASE_IMG"
 _rm_test_img "image:top.$IMGFMT"
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
  2019-05-02 13:08         ` Sam Eiderman
@ 2019-05-03 11:34           ` Thomas Huth
  2019-05-03 14:32               ` Max Reitz
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Huth @ 2019-05-03 11:34 UTC (permalink / raw)
  To: Sam Eiderman, kwolf, mreitz, qemu-block, qemu-devel, fam, eblake
  Cc: arbel.moshe

 Hi Sam,

On 02/05/2019 15.08, Sam Eiderman wrote:
> Commit b69864e ("vmdk: Support version=3 in VMDK descriptor files")
> fixed the probe function to correctly guess vmdk descriptors with
> version=3.
> 
> 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 <mark.kanda@oracle.com>
> Reviewed-By: Liran Alon <liran.alon@oracle.com>
> Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
> Signed-off-by: Shmuel Eiderman <shmuel.eiderman@oracle.com>
> ---
>  block/vmdk.c           | 2 ++
>  tests/qemu-iotests/110 | 6 +++---
>  tests/qemu-iotests/126 | 4 ++--
>  3 files changed, 7 insertions(+), 5 deletions(-)
> 
> 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");
>      }

Your patch with this change has already been merged into the QEMU master
branch...

> diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110
> index fad672c1ae..982569dbc5 100755
> --- a/tests/qemu-iotests/110
> +++ b/tests/qemu-iotests/110
> @@ -54,7 +54,7 @@ _make_test_img -b "$TEST_IMG_REL.base" 64M
>  # qemu should be able to reconstruct the filename, so relative backing names
>  # should work
>  TEST_IMG="json:{'driver':'$IMGFMT','file':{'driver':'file','filename':'$TEST_IMG'}}" \
> -    _img_info | _filter_img_info
> +    _img_info | _filter_img_info | grep -v "backing file format"
>  
>  echo
>  echo '=== Non-reconstructable filename ==='
> @@ -78,7 +78,7 @@ TEST_IMG="json:{
>              }
>          ]
>      }
> -}" _img_info | _filter_img_info
> +}" _img_info | _filter_img_info | grep -v "backing file format"
>  
>  echo
>  echo '=== Backing name is always relative to the backed image ==='
> @@ -110,7 +110,7 @@ TEST_IMG="json:{
>              }
>          ]
>      }
> -}" _img_info | _filter_img_info
> +}" _img_info | _filter_img_info | grep -v "backing file format"
>  
>  
>  # success, all done
> diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126
> index 96dc048d59..1f7618c8a5 100755
> --- a/tests/qemu-iotests/126
> +++ b/tests/qemu-iotests/126
> @@ -63,7 +63,7 @@ TEST_IMG=$BASE_IMG _make_test_img 64M
>  TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT
>  
>  # The default cluster size depends on the image format
> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>  
>  _rm_test_img "$BASE_IMG"
>  _rm_test_img "$TOP_IMG"
> @@ -79,7 +79,7 @@ TOP_IMG="file:image:top.$IMGFMT"
>  TEST_IMG=$BASE_IMG _make_test_img 64M
>  TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG"
>  
> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>  
>  _rm_test_img "$BASE_IMG"
>  _rm_test_img "image:top.$IMGFMT"
> 

... so please just send a patch with these fixes!

 Thanks,
  Thomas

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
@ 2019-05-03 14:32               ` Max Reitz
  0 siblings, 0 replies; 9+ messages in thread
From: Max Reitz @ 2019-05-03 14:32 UTC (permalink / raw)
  To: Thomas Huth, Sam Eiderman, kwolf, qemu-block, qemu-devel, fam, eblake
  Cc: arbel.moshe

[-- Attachment #1: Type: text/plain, Size: 4092 bytes --]

On 03.05.19 13:34, Thomas Huth wrote:
>  Hi Sam,
> 
> On 02/05/2019 15.08, Sam Eiderman wrote:
>> Commit b69864e ("vmdk: Support version=3 in VMDK descriptor files")
>> fixed the probe function to correctly guess vmdk descriptors with
>> version=3.
>>
>> 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 <mark.kanda@oracle.com>
>> Reviewed-By: Liran Alon <liran.alon@oracle.com>
>> Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
>> Signed-off-by: Shmuel Eiderman <shmuel.eiderman@oracle.com>
>> ---
>>  block/vmdk.c           | 2 ++
>>  tests/qemu-iotests/110 | 6 +++---
>>  tests/qemu-iotests/126 | 4 ++--
>>  3 files changed, 7 insertions(+), 5 deletions(-)
>>
>> 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");
>>      }
> 
> Your patch with this change has already been merged into the QEMU master
> branch...
> 
>> diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110
>> index fad672c1ae..982569dbc5 100755
>> --- a/tests/qemu-iotests/110
>> +++ b/tests/qemu-iotests/110
>> @@ -54,7 +54,7 @@ _make_test_img -b "$TEST_IMG_REL.base" 64M
>>  # qemu should be able to reconstruct the filename, so relative backing names
>>  # should work
>>  TEST_IMG="json:{'driver':'$IMGFMT','file':{'driver':'file','filename':'$TEST_IMG'}}" \
>> -    _img_info | _filter_img_info
>> +    _img_info | _filter_img_info | grep -v "backing file format"
>>  
>>  echo
>>  echo '=== Non-reconstructable filename ==='
>> @@ -78,7 +78,7 @@ TEST_IMG="json:{
>>              }
>>          ]
>>      }
>> -}" _img_info | _filter_img_info
>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>  
>>  echo
>>  echo '=== Backing name is always relative to the backed image ==='
>> @@ -110,7 +110,7 @@ TEST_IMG="json:{
>>              }
>>          ]
>>      }
>> -}" _img_info | _filter_img_info
>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>  
>>  
>>  # success, all done
>> diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126
>> index 96dc048d59..1f7618c8a5 100755
>> --- a/tests/qemu-iotests/126
>> +++ b/tests/qemu-iotests/126
>> @@ -63,7 +63,7 @@ TEST_IMG=$BASE_IMG _make_test_img 64M
>>  TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT
>>  
>>  # The default cluster size depends on the image format
>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>  
>>  _rm_test_img "$BASE_IMG"
>>  _rm_test_img "$TOP_IMG"
>> @@ -79,7 +79,7 @@ TOP_IMG="file:image:top.$IMGFMT"
>>  TEST_IMG=$BASE_IMG _make_test_img 64M
>>  TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG"
>>  
>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>  
>>  _rm_test_img "$BASE_IMG"
>>  _rm_test_img "image:top.$IMGFMT"
>>
> 
> ... so please just send a patch with these fixes!

I already did, it's here:

http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
@ 2019-05-03 14:32               ` Max Reitz
  0 siblings, 0 replies; 9+ messages in thread
From: Max Reitz @ 2019-05-03 14:32 UTC (permalink / raw)
  To: Thomas Huth, Sam Eiderman, kwolf, qemu-block, qemu-devel, fam, eblake
  Cc: arbel.moshe

[-- Attachment #1: Type: text/plain, Size: 4092 bytes --]

On 03.05.19 13:34, Thomas Huth wrote:
>  Hi Sam,
> 
> On 02/05/2019 15.08, Sam Eiderman wrote:
>> Commit b69864e ("vmdk: Support version=3 in VMDK descriptor files")
>> fixed the probe function to correctly guess vmdk descriptors with
>> version=3.
>>
>> 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 <mark.kanda@oracle.com>
>> Reviewed-By: Liran Alon <liran.alon@oracle.com>
>> Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
>> Signed-off-by: Shmuel Eiderman <shmuel.eiderman@oracle.com>
>> ---
>>  block/vmdk.c           | 2 ++
>>  tests/qemu-iotests/110 | 6 +++---
>>  tests/qemu-iotests/126 | 4 ++--
>>  3 files changed, 7 insertions(+), 5 deletions(-)
>>
>> 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");
>>      }
> 
> Your patch with this change has already been merged into the QEMU master
> branch...
> 
>> diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110
>> index fad672c1ae..982569dbc5 100755
>> --- a/tests/qemu-iotests/110
>> +++ b/tests/qemu-iotests/110
>> @@ -54,7 +54,7 @@ _make_test_img -b "$TEST_IMG_REL.base" 64M
>>  # qemu should be able to reconstruct the filename, so relative backing names
>>  # should work
>>  TEST_IMG="json:{'driver':'$IMGFMT','file':{'driver':'file','filename':'$TEST_IMG'}}" \
>> -    _img_info | _filter_img_info
>> +    _img_info | _filter_img_info | grep -v "backing file format"
>>  
>>  echo
>>  echo '=== Non-reconstructable filename ==='
>> @@ -78,7 +78,7 @@ TEST_IMG="json:{
>>              }
>>          ]
>>      }
>> -}" _img_info | _filter_img_info
>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>  
>>  echo
>>  echo '=== Backing name is always relative to the backed image ==='
>> @@ -110,7 +110,7 @@ TEST_IMG="json:{
>>              }
>>          ]
>>      }
>> -}" _img_info | _filter_img_info
>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>  
>>  
>>  # success, all done
>> diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126
>> index 96dc048d59..1f7618c8a5 100755
>> --- a/tests/qemu-iotests/126
>> +++ b/tests/qemu-iotests/126
>> @@ -63,7 +63,7 @@ TEST_IMG=$BASE_IMG _make_test_img 64M
>>  TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT
>>  
>>  # The default cluster size depends on the image format
>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>  
>>  _rm_test_img "$BASE_IMG"
>>  _rm_test_img "$TOP_IMG"
>> @@ -79,7 +79,7 @@ TOP_IMG="file:image:top.$IMGFMT"
>>  TEST_IMG=$BASE_IMG _make_test_img 64M
>>  TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG"
>>  
>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>  
>>  _rm_test_img "$BASE_IMG"
>>  _rm_test_img "image:top.$IMGFMT"
>>
> 
> ... so please just send a patch with these fixes!

I already did, it's here:

http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
@ 2019-05-04 12:43                 ` Sam
  0 siblings, 0 replies; 9+ messages in thread
From: Sam @ 2019-05-04 12:43 UTC (permalink / raw)
  To: Max Reitz, Thomas Huth
  Cc: kwolf, qemu-block, qemu-devel, fam, Eric Blake, Arbel Moshe

Thanks Thomas, Thanks Max

So how do you want to proceed?

Apply Max’s RFC from here (http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html <http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html>) and add the commit id which is stable now?
Or should I resubmit my fix (which is very similar to what Max did) without the original change?

Sam

> On 3 May 2019, at 17:32, Max Reitz <mreitz@redhat.com> wrote:
> 
> On 03.05.19 13:34, Thomas Huth wrote:
>> Hi Sam,
>> 
>> On 02/05/2019 15.08, Sam Eiderman wrote:
>>> Commit b69864e ("vmdk: Support version=3 in VMDK descriptor files")
>>> fixed the probe function to correctly guess vmdk descriptors with
>>> version=3.
>>> 
>>> 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 <mark.kanda@oracle.com>
>>> Reviewed-By: Liran Alon <liran.alon@oracle.com>
>>> Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
>>> Signed-off-by: Shmuel Eiderman <shmuel.eiderman@oracle.com>
>>> ---
>>> block/vmdk.c           | 2 ++
>>> tests/qemu-iotests/110 | 6 +++---
>>> tests/qemu-iotests/126 | 4 ++--
>>> 3 files changed, 7 insertions(+), 5 deletions(-)
>>> 
>>> 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");
>>>     }
>> 
>> Your patch with this change has already been merged into the QEMU master
>> branch...
>> 
>>> diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110
>>> index fad672c1ae..982569dbc5 100755
>>> --- a/tests/qemu-iotests/110
>>> +++ b/tests/qemu-iotests/110
>>> @@ -54,7 +54,7 @@ _make_test_img -b "$TEST_IMG_REL.base" 64M
>>> # qemu should be able to reconstruct the filename, so relative backing names
>>> # should work
>>> TEST_IMG="json:{'driver':'$IMGFMT','file':{'driver':'file','filename':'$TEST_IMG'}}" \
>>> -    _img_info | _filter_img_info
>>> +    _img_info | _filter_img_info | grep -v "backing file format"
>>> 
>>> echo
>>> echo '=== Non-reconstructable filename ==='
>>> @@ -78,7 +78,7 @@ TEST_IMG="json:{
>>>             }
>>>         ]
>>>     }
>>> -}" _img_info | _filter_img_info
>>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>> 
>>> echo
>>> echo '=== Backing name is always relative to the backed image ==='
>>> @@ -110,7 +110,7 @@ TEST_IMG="json:{
>>>             }
>>>         ]
>>>     }
>>> -}" _img_info | _filter_img_info
>>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>> 
>>> 
>>> # success, all done
>>> diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126
>>> index 96dc048d59..1f7618c8a5 100755
>>> --- a/tests/qemu-iotests/126
>>> +++ b/tests/qemu-iotests/126
>>> @@ -63,7 +63,7 @@ TEST_IMG=$BASE_IMG _make_test_img 64M
>>> TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT
>>> 
>>> # The default cluster size depends on the image format
>>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>> 
>>> _rm_test_img "$BASE_IMG"
>>> _rm_test_img "$TOP_IMG"
>>> @@ -79,7 +79,7 @@ TOP_IMG="file:image:top.$IMGFMT"
>>> TEST_IMG=$BASE_IMG _make_test_img 64M
>>> TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG"
>>> 
>>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>> 
>>> _rm_test_img "$BASE_IMG"
>>> _rm_test_img "image:top.$IMGFMT"
>>> 
>> 
>> ... so please just send a patch with these fixes!
> 
> I already did, it's here:
> 
> http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html <http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html>
> 
> Max

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
@ 2019-05-04 12:43                 ` Sam
  0 siblings, 0 replies; 9+ messages in thread
From: Sam @ 2019-05-04 12:43 UTC (permalink / raw)
  To: Max Reitz, Thomas Huth; +Cc: kwolf, fam, qemu-block, Arbel Moshe, qemu-devel

Thanks Thomas, Thanks Max

So how do you want to proceed?

Apply Max’s RFC from here (http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html <http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html>) and add the commit id which is stable now?
Or should I resubmit my fix (which is very similar to what Max did) without the original change?

Sam

> On 3 May 2019, at 17:32, Max Reitz <mreitz@redhat.com> wrote:
> 
> On 03.05.19 13:34, Thomas Huth wrote:
>> Hi Sam,
>> 
>> On 02/05/2019 15.08, Sam Eiderman wrote:
>>> Commit b69864e ("vmdk: Support version=3 in VMDK descriptor files")
>>> fixed the probe function to correctly guess vmdk descriptors with
>>> version=3.
>>> 
>>> 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 <mark.kanda@oracle.com>
>>> Reviewed-By: Liran Alon <liran.alon@oracle.com>
>>> Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
>>> Signed-off-by: Shmuel Eiderman <shmuel.eiderman@oracle.com>
>>> ---
>>> block/vmdk.c           | 2 ++
>>> tests/qemu-iotests/110 | 6 +++---
>>> tests/qemu-iotests/126 | 4 ++--
>>> 3 files changed, 7 insertions(+), 5 deletions(-)
>>> 
>>> 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");
>>>     }
>> 
>> Your patch with this change has already been merged into the QEMU master
>> branch...
>> 
>>> diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110
>>> index fad672c1ae..982569dbc5 100755
>>> --- a/tests/qemu-iotests/110
>>> +++ b/tests/qemu-iotests/110
>>> @@ -54,7 +54,7 @@ _make_test_img -b "$TEST_IMG_REL.base" 64M
>>> # qemu should be able to reconstruct the filename, so relative backing names
>>> # should work
>>> TEST_IMG="json:{'driver':'$IMGFMT','file':{'driver':'file','filename':'$TEST_IMG'}}" \
>>> -    _img_info | _filter_img_info
>>> +    _img_info | _filter_img_info | grep -v "backing file format"
>>> 
>>> echo
>>> echo '=== Non-reconstructable filename ==='
>>> @@ -78,7 +78,7 @@ TEST_IMG="json:{
>>>             }
>>>         ]
>>>     }
>>> -}" _img_info | _filter_img_info
>>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>> 
>>> echo
>>> echo '=== Backing name is always relative to the backed image ==='
>>> @@ -110,7 +110,7 @@ TEST_IMG="json:{
>>>             }
>>>         ]
>>>     }
>>> -}" _img_info | _filter_img_info
>>> +}" _img_info | _filter_img_info | grep -v "backing file format"
>>> 
>>> 
>>> # success, all done
>>> diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126
>>> index 96dc048d59..1f7618c8a5 100755
>>> --- a/tests/qemu-iotests/126
>>> +++ b/tests/qemu-iotests/126
>>> @@ -63,7 +63,7 @@ TEST_IMG=$BASE_IMG _make_test_img 64M
>>> TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT
>>> 
>>> # The default cluster size depends on the image format
>>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>> 
>>> _rm_test_img "$BASE_IMG"
>>> _rm_test_img "$TOP_IMG"
>>> @@ -79,7 +79,7 @@ TOP_IMG="file:image:top.$IMGFMT"
>>> TEST_IMG=$BASE_IMG _make_test_img 64M
>>> TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG"
>>> 
>>> -TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size'
>>> +TEST_IMG=$TOP_IMG _img_info | grep -v 'cluster_size\|backing file format'
>>> 
>>> _rm_test_img "$BASE_IMG"
>>> _rm_test_img "image:top.$IMGFMT"
>>> 
>> 
>> ... so please just send a patch with these fixes!
> 
> I already did, it's here:
> 
> http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html <http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html>
> 
> Max


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] vmdk: Set vmdk parent backing_format to vmdk
  2019-05-04 12:43                 ` Sam
  (?)
@ 2019-05-07 13:26                 ` Max Reitz
  -1 siblings, 0 replies; 9+ messages in thread
From: Max Reitz @ 2019-05-07 13:26 UTC (permalink / raw)
  To: Sam, Thomas Huth; +Cc: kwolf, fam, qemu-block, Arbel Moshe, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 282 bytes --]

On 04.05.19 14:43, Sam wrote:
> Thanks Thomas, Thanks Max
> 
> So how do you want to proceed?
> 
> Apply Max’s RFC from here
> (http://lists.nongnu.org/archive/html/qemu-block/2019-04/msg00442.html)
> and add the commit id which is stable now?

I’ll do that.

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-05-07 13:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20190326195837.8416-1-shmuel.eiderman@oracle.com>
     [not found] ` <891af075-0e1d-de0b-b874-738b0c8f34ae@redhat.com>
     [not found]   ` <AC82FB5B-34EF-453F-B4CB-33F1BBF58623@oracle.com>
2019-05-02  9:31     ` [Qemu-devel] [Qemu-block] [PATCH] vmdk: Set vmdk parent backing_format to vmdk Thomas Huth
2019-05-02 13:08       ` [Qemu-devel] [PATCH v2] " Sam Eiderman
2019-05-02 13:08         ` Sam Eiderman
2019-05-03 11:34           ` Thomas Huth
2019-05-03 14:32             ` Max Reitz
2019-05-03 14:32               ` Max Reitz
2019-05-04 12:43               ` Sam
2019-05-04 12:43                 ` Sam
2019-05-07 13:26                 ` Max Reitz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.