* 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.