qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] Accommodate VHDX images created by Disk2VHD
@ 2014-05-13 14:00 Jeff Cody
  2014-05-13 14:00 ` [Qemu-devel] [PATCH 1/2] block: vhdx - account for identical header sections Jeff Cody
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jeff Cody @ 2014-05-13 14:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, stefanha

This series adds support for VHDX images created with Microsofts p2v tool Disk2VHD.

Jeff Cody (2):
  block: vhdx - account for identical header sections
  block: add test for vhdx image created by Disk2VHD

 block/vhdx.c                                            |   9 ++++++++-
 tests/qemu-iotests/070                                  |   7 +++++++
 tests/qemu-iotests/070.out                              |   7 +++++++
 tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 | Bin 0 -> 1424 bytes
 4 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2

-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 1/2] block: vhdx - account for identical header sections
  2014-05-13 14:00 [Qemu-devel] [PATCH 0/2] Accommodate VHDX images created by Disk2VHD Jeff Cody
@ 2014-05-13 14:00 ` Jeff Cody
  2014-05-13 14:00 ` [Qemu-devel] [PATCH 2/2] block: add test for vhdx image created by Disk2VHD Jeff Cody
  2014-05-14  8:07 ` [Qemu-devel] [PATCH 0/2] Accommodate VHDX images " Kevin Wolf
  2 siblings, 0 replies; 6+ messages in thread
From: Jeff Cody @ 2014-05-13 14:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, stefanha

The VHDX spec v1.00 declares that "a header is current if it is the only
valid header or if it is valid and its SequenceNumber field is greater
than the other header’s SequenceNumber field. The parser must only use
data from the current header. If there is no current header, then the
VHDX file is corrupt."

However, the Disk2VHD tool from Microsoft creates a VHDX image file that
has 2 identical headers, including matching checksums and matching
sequence numbers.  Likely, as a shortcut the tool is just writing the
header twice, for the active and inactive headers, during the image
creation.  Technically, this should be considered a corrupt VHDX file
(at least per the 1.00 spec, and that is how we currently treat it).

But in order to accomodate images created with Disk2VHD, we can safely
create an exception for this case.  If we find identical sequence
numbers, then we check the VHDXHeader-sized chunks of each 64KB header
sections (we won't rely just on the crc32c to indicate the headers are
the same).  If they are identical, then we go ahead and use the first
one.

Reported-by: Nerijus Baliūnas <nerijus@users.sourceforge.net>
Signed-off-by: Jeff Cody <jcody@redhat.com>
---
 block/vhdx.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/block/vhdx.c b/block/vhdx.c
index 509baaf..353c74d 100644
--- a/block/vhdx.c
+++ b/block/vhdx.c
@@ -473,7 +473,14 @@ static void vhdx_parse_header(BlockDriverState *bs, BDRVVHDXState *s,
         } else if (h2_seq > h1_seq) {
             s->curr_header = 1;
         } else {
-            goto fail;
+            /* The Microsoft Disk2VHD tool will create 2 identical
+             * headers, with identical sequence numbers.  If the headers are
+             * identical, don't consider the file corrupt */
+            if (!memcmp(header1, header2, sizeof(VHDXHeader))) {
+                s->curr_header = 0;
+            } else {
+                goto fail;
+            }
         }
     }
 
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 2/2] block: add test for vhdx image created by Disk2VHD
  2014-05-13 14:00 [Qemu-devel] [PATCH 0/2] Accommodate VHDX images created by Disk2VHD Jeff Cody
  2014-05-13 14:00 ` [Qemu-devel] [PATCH 1/2] block: vhdx - account for identical header sections Jeff Cody
@ 2014-05-13 14:00 ` Jeff Cody
  2014-05-14  1:58   ` Fam Zheng
  2014-05-14  8:07 ` [Qemu-devel] [PATCH 0/2] Accommodate VHDX images " Kevin Wolf
  2 siblings, 1 reply; 6+ messages in thread
From: Jeff Cody @ 2014-05-13 14:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, stefanha

This adds a test for VHDX images created by Microsoft's tool, Disk2VHD.

VHDX images created by this tool have 2 identical header sections, with
identical sequence numbers.  This makes sure we detect VHDX images with
identical headers, and do not flag them as corrupt.

Signed-off-by: Jeff Cody <jcody@redhat.com>
---
 tests/qemu-iotests/070                                  |   7 +++++++
 tests/qemu-iotests/070.out                              |   7 +++++++
 tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 | Bin 0 -> 1424 bytes
 3 files changed, 14 insertions(+)
 create mode 100644 tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2

diff --git a/tests/qemu-iotests/070 b/tests/qemu-iotests/070
index ce71fa4..ea0dae7 100755
--- a/tests/qemu-iotests/070
+++ b/tests/qemu-iotests/070
@@ -72,6 +72,13 @@ echo "=== Verify open image read-only succeeds after log replay ==="
 $QEMU_IO -r -c "read -pP 0xa5 0 18M" "$TEST_IMG" 2>&1 | _filter_testdir \
                                                       | _filter_qemu_io
 
+_cleanup_test_img
+_use_sample_img test-disk2vhd.vhdx.bz2
+
+echo
+echo "=== Verify image created by Disk2VHD can be opened ==="
+$QEMU_IMG info "$TEST_IMG" 2>&1 | _filter_testdir | _filter_qemu
+
 # success, all done
 echo "*** done"
 rm -f $seq.full
diff --git a/tests/qemu-iotests/070.out b/tests/qemu-iotests/070.out
index 922d62c..15f1fc1 100644
--- a/tests/qemu-iotests/070.out
+++ b/tests/qemu-iotests/070.out
@@ -18,4 +18,11 @@ No errors were found on the image.
 === Verify open image read-only succeeds after log replay ===
 read 18874368/18874368 bytes at offset 0
 18 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+
+=== Verify image created by Disk2VHD can be opened ===
+image: TEST_DIR/test-disk2vhd.vhdx
+file format: vhdx
+virtual size: 256M (268435456 bytes)
+disk size: 260M
+cluster_size: 2097152
 *** done
diff --git a/tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 b/tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2
new file mode 100644
index 0000000000000000000000000000000000000000..2891c9a6d62908e0195d3791817284016249aaee
GIT binary patch
literal 1424
zcmZ>Y%CIzaj8qGbG}k{O$Xb_J|NsC0KmUCH-JDzhyZ-zC_y7OrRo{&NR|gc{RqOEm
z=imPqn0Gw*bmiUDGLEd7O!Jz9a-FYyG%@kz4`91;!B*gMCgZ|o{hrI3-5eMf7&2U(
ze2MLfRMjk#3m2F92b;9b3)~wx*_X}#(!AiWP7J&Z7Z*rLWn7%V=F8TQk#Sieg@GYO
z%H#s$1cuB7Co(4-Ibm{f0b4Ia3Io%!MYdbrr~3cDvda022}1^3FSCOb0|sEu@-&&Z
zd{yQz7v?J$7%p6>a$t6L0IPy1Hi78)%CahBQl<Z;+5VngDYs_v^vp6jaD~m;eM-i~
z&Sh$|j1q($7cl#p@Y?z`Wbn)~;$8WKbK(Lv_Z21=7;XxsEqh$#HSI@WE6^;a!cbHI
zu?%7hkTh5`=j@LcDLKD{B^^#a3zjsRcFl8cicgpF_s*b{y^=;gXHGaUxHsk6Z1z!6
zR8jOb5@75|V437mU-yJTMS)R+<!|9h(XdP|@fL<tERWTG&+}1W<Y45=R(WVS*~r-_
zC)tvLS9QX(l#{Jfd<|w?_&irwSR~K$n-GH&gVWNbjzLvv#!ZvhEgL4x<WyO{%dgF0
zhm(_slhXnI%U%l|_%|#KQ59iedZ^gAy6MTT^pA1#JRe_E5V)X}!2L#gS<#~h?Gtqv
zl&`O9bYKze@DSi|;D~C!8#&cpD`XX`!J3mz{!xVw{r4+rTyzx)bS+3;^k;kfgqh(R
zjB+v<0`Hud8Jn$R?UuFBl*37&r7&VvuZxF5ll`XNKxZk5#5RfKr9KH<!3>rSX^b=2
zQf8bIGb{Zh_kHjC@8`d&KfM}#^|g=#lbQEvqpGz5Ed?!#9L1S`SKYn`R8T$Vx#hW1
zCM6{$l_f4NE*^KTTb?Ukoc4OXmY1i>B+sy}&s%2&>@2zH!^iM2gHz2Te8X9{cMVoM
z;{=)JSmb5gwe(qeljqKyZ`#t=IU7>$_6lS~Td$G%SNN0X?aCy3waorU$G7pHk*Ma-
zYE<;TxbKbjzRG&1nl|xWH#-<gzZXBa@XdC5+2yW=XNLk^I~R&OZFSL<+bNOsMeTpb
z%%mvCGRqI%Rym??0~1n(1@CMZGrbn8sA)Z0k$X~Q0^5#teF5#=oBpZXdBt9_ShVJu
z8-w~y8S_&dArUE&X2}KGr!EJkWlT{K;ttAXNYjmGtKHP1b&A_jYaOdaPOr<6nbTE{
zuGQZxQ2p%4>&9b+6?O;aW$X+xPMFR3&d_YRW#T@i-OCo2#W_wCnEbBIs?xo=)HQ$R
z>o>}_dZp{atdD$}H#<@;Max;n<kaU)7XF+%XO&;=U*>$qQfE(*sioE9rtPc(Y*#s7
zpKUfvXG`_DIWbL<qv^M0nZ<#RLK5XFQaOwErZ9+!_<mihd;E~K^vhov_a?RNTBv-^
zx$nd!MiKQrW>eatZPZ^(zWe`GGwaHqI+yFZw>+A3{QKrRzAG9SB77d|ev|%_V)0-`
z-JZ?tMvvIkH2+6tf9dm9+PF?_erw&^`i@ni63vV(0;eV%=E*Bq#jok#6Tz6rbtWUl
zLX<`8`FCKbFRwON)jb?9dDZx@toqN7-~A3R)HZBdvAAbTO@<1S0Fy|{so18Xs4bHB
zS53EGJoP`Mc;n-Ibe}Q4&w=3p0|SQwgF%C@o6`c-m0S(e=_6mW?bJO+Z@mKy2Ux)N
dpW$4UIbn)dbcj%=_t85O{X|r_v(Ec8000NwOCSIM

literal 0
HcmV?d00001

-- 
1.8.3.1

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

* Re: [Qemu-devel] [PATCH 2/2] block: add test for vhdx image created by Disk2VHD
  2014-05-13 14:00 ` [Qemu-devel] [PATCH 2/2] block: add test for vhdx image created by Disk2VHD Jeff Cody
@ 2014-05-14  1:58   ` Fam Zheng
  2014-05-14 12:15     ` Jeff Cody
  0 siblings, 1 reply; 6+ messages in thread
From: Fam Zheng @ 2014-05-14  1:58 UTC (permalink / raw)
  To: Jeff Cody; +Cc: kwolf, qemu-devel, stefanha

On Tue, 05/13 10:00, Jeff Cody wrote:
> This adds a test for VHDX images created by Microsoft's tool, Disk2VHD.

Out of curiosity, is this an official tool from Microsoft?

> 
> VHDX images created by this tool have 2 identical header sections, with
> identical sequence numbers.  This makes sure we detect VHDX images with
> identical headers, and do not flag them as corrupt.
> 
> Signed-off-by: Jeff Cody <jcody@redhat.com>
> ---
>  tests/qemu-iotests/070                                  |   7 +++++++
>  tests/qemu-iotests/070.out                              |   7 +++++++
>  tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 | Bin 0 -> 1424 bytes
>  3 files changed, 14 insertions(+)
>  create mode 100644 tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2
> 
> diff --git a/tests/qemu-iotests/070 b/tests/qemu-iotests/070
> index ce71fa4..ea0dae7 100755
> --- a/tests/qemu-iotests/070
> +++ b/tests/qemu-iotests/070
> @@ -72,6 +72,13 @@ echo "=== Verify open image read-only succeeds after log replay ==="
>  $QEMU_IO -r -c "read -pP 0xa5 0 18M" "$TEST_IMG" 2>&1 | _filter_testdir \
>                                                        | _filter_qemu_io
>  
> +_cleanup_test_img
> +_use_sample_img test-disk2vhd.vhdx.bz2
> +
> +echo
> +echo "=== Verify image created by Disk2VHD can be opened ==="
> +$QEMU_IMG info "$TEST_IMG" 2>&1 | _filter_testdir | _filter_qemu
> +

_filter_qemu shouldn't make a difference for $QEMU_IMG.  Anyway,

Reviewed-by: Fam Zheng <famz@redhat.com>

>  # success, all done
>  echo "*** done"
>  rm -f $seq.full
> diff --git a/tests/qemu-iotests/070.out b/tests/qemu-iotests/070.out
> index 922d62c..15f1fc1 100644
> --- a/tests/qemu-iotests/070.out
> +++ b/tests/qemu-iotests/070.out
> @@ -18,4 +18,11 @@ No errors were found on the image.
>  === Verify open image read-only succeeds after log replay ===
>  read 18874368/18874368 bytes at offset 0
>  18 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +
> +=== Verify image created by Disk2VHD can be opened ===
> +image: TEST_DIR/test-disk2vhd.vhdx
> +file format: vhdx
> +virtual size: 256M (268435456 bytes)
> +disk size: 260M
> +cluster_size: 2097152
>  *** done
> diff --git a/tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 b/tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2
> new file mode 100644
> index 0000000000000000000000000000000000000000..2891c9a6d62908e0195d3791817284016249aaee
> GIT binary patch
> literal 1424
> zcmZ>Y%CIzaj8qGbG}k{O$Xb_J|NsC0KmUCH-JDzhyZ-zC_y7OrRo{&NR|gc{RqOEm
> z=imPqn0Gw*bmiUDGLEd7O!Jz9a-FYyG%@kz4`91;!B*gMCgZ|o{hrI3-5eMf7&2U(
> ze2MLfRMjk#3m2F92b;9b3)~wx*_X}#(!AiWP7J&Z7Z*rLWn7%V=F8TQk#Sieg@GYO
> z%H#s$1cuB7Co(4-Ibm{f0b4Ia3Io%!MYdbrr~3cDvda022}1^3FSCOb0|sEu@-&&Z
> zd{yQz7v?J$7%p6>a$t6L0IPy1Hi78)%CahBQl<Z;+5VngDYs_v^vp6jaD~m;eM-i~
> z&Sh$|j1q($7cl#p@Y?z`Wbn)~;$8WKbK(Lv_Z21=7;XxsEqh$#HSI@WE6^;a!cbHI
> zu?%7hkTh5`=j@LcDLKD{B^^#a3zjsRcFl8cicgpF_s*b{y^=;gXHGaUxHsk6Z1z!6
> zR8jOb5@75|V437mU-yJTMS)R+<!|9h(XdP|@fL<tERWTG&+}1W<Y45=R(WVS*~r-_
> zC)tvLS9QX(l#{Jfd<|w?_&irwSR~K$n-GH&gVWNbjzLvv#!ZvhEgL4x<WyO{%dgF0
> zhm(_slhXnI%U%l|_%|#KQ59iedZ^gAy6MTT^pA1#JRe_E5V)X}!2L#gS<#~h?Gtqv
> zl&`O9bYKze@DSi|;D~C!8#&cpD`XX`!J3mz{!xVw{r4+rTyzx)bS+3;^k;kfgqh(R
> zjB+v<0`Hud8Jn$R?UuFBl*37&r7&VvuZxF5ll`XNKxZk5#5RfKr9KH<!3>rSX^b=2
> zQf8bIGb{Zh_kHjC@8`d&KfM}#^|g=#lbQEvqpGz5Ed?!#9L1S`SKYn`R8T$Vx#hW1
> zCM6{$l_f4NE*^KTTb?Ukoc4OXmY1i>B+sy}&s%2&>@2zH!^iM2gHz2Te8X9{cMVoM
> z;{=)JSmb5gwe(qeljqKyZ`#t=IU7>$_6lS~Td$G%SNN0X?aCy3waorU$G7pHk*Ma-
> zYE<;TxbKbjzRG&1nl|xWH#-<gzZXBa@XdC5+2yW=XNLk^I~R&OZFSL<+bNOsMeTpb
> z%%mvCGRqI%Rym??0~1n(1@CMZGrbn8sA)Z0k$X~Q0^5#teF5#=oBpZXdBt9_ShVJu
> z8-w~y8S_&dArUE&X2}KGr!EJkWlT{K;ttAXNYjmGtKHP1b&A_jYaOdaPOr<6nbTE{
> zuGQZxQ2p%4>&9b+6?O;aW$X+xPMFR3&d_YRW#T@i-OCo2#W_wCnEbBIs?xo=)HQ$R
> z>o>}_dZp{atdD$}H#<@;Max;n<kaU)7XF+%XO&;=U*>$qQfE(*sioE9rtPc(Y*#s7
> zpKUfvXG`_DIWbL<qv^M0nZ<#RLK5XFQaOwErZ9+!_<mihd;E~K^vhov_a?RNTBv-^
> zx$nd!MiKQrW>eatZPZ^(zWe`GGwaHqI+yFZw>+A3{QKrRzAG9SB77d|ev|%_V)0-`
> z-JZ?tMvvIkH2+6tf9dm9+PF?_erw&^`i@ni63vV(0;eV%=E*Bq#jok#6Tz6rbtWUl
> zLX<`8`FCKbFRwON)jb?9dDZx@toqN7-~A3R)HZBdvAAbTO@<1S0Fy|{so18Xs4bHB
> zS53EGJoP`Mc;n-Ibe}Q4&w=3p0|SQwgF%C@o6`c-m0S(e=_6mW?bJO+Z@mKy2Ux)N
> dpW$4UIbn)dbcj%=_t85O{X|r_v(Ec8000NwOCSIM
> 
> literal 0
> HcmV?d00001
> 
> -- 
> 1.8.3.1
> 
> 

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

* Re: [Qemu-devel] [PATCH 0/2] Accommodate VHDX images created by Disk2VHD
  2014-05-13 14:00 [Qemu-devel] [PATCH 0/2] Accommodate VHDX images created by Disk2VHD Jeff Cody
  2014-05-13 14:00 ` [Qemu-devel] [PATCH 1/2] block: vhdx - account for identical header sections Jeff Cody
  2014-05-13 14:00 ` [Qemu-devel] [PATCH 2/2] block: add test for vhdx image created by Disk2VHD Jeff Cody
@ 2014-05-14  8:07 ` Kevin Wolf
  2 siblings, 0 replies; 6+ messages in thread
From: Kevin Wolf @ 2014-05-14  8:07 UTC (permalink / raw)
  To: Jeff Cody; +Cc: qemu-devel, stefanha

Am 13.05.2014 um 16:00 hat Jeff Cody geschrieben:
> This series adds support for VHDX images created with Microsofts p2v tool Disk2VHD.
> 
> Jeff Cody (2):
>   block: vhdx - account for identical header sections
>   block: add test for vhdx image created by Disk2VHD
> 
>  block/vhdx.c                                            |   9 ++++++++-
>  tests/qemu-iotests/070                                  |   7 +++++++
>  tests/qemu-iotests/070.out                              |   7 +++++++
>  tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 | Bin 0 -> 1424 bytes
>  4 files changed, 22 insertions(+), 1 deletion(-)
>  create mode 100644 tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2

Thanks, applied to the block branch.

Unrelated bug I noticed while testing this: The old error message for
opening the image was 'qemu-img: Could not open 'TEST_DIR/test-disk2vhd.
vhdx': No valid VHDX header found: Unknown error -4096'.

This is because vhdx_parse_header() doesn't set ret before jumping to
fail: while trying to find the current header.

Kevin

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

* Re: [Qemu-devel] [PATCH 2/2] block: add test for vhdx image created by Disk2VHD
  2014-05-14  1:58   ` Fam Zheng
@ 2014-05-14 12:15     ` Jeff Cody
  0 siblings, 0 replies; 6+ messages in thread
From: Jeff Cody @ 2014-05-14 12:15 UTC (permalink / raw)
  To: Fam Zheng; +Cc: kwolf, qemu-devel, stefanha

On Wed, May 14, 2014 at 09:58:07AM +0800, Fam Zheng wrote:
> On Tue, 05/13 10:00, Jeff Cody wrote:
> > This adds a test for VHDX images created by Microsoft's tool, Disk2VHD.
> 
> Out of curiosity, is this an official tool from Microsoft?
> 

Yes, it is a p2v tool from MS for Virtual PC / Hyper-V hosts:

http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx

> > 
> > VHDX images created by this tool have 2 identical header sections, with
> > identical sequence numbers.  This makes sure we detect VHDX images with
> > identical headers, and do not flag them as corrupt.
> > 
> > Signed-off-by: Jeff Cody <jcody@redhat.com>
> > ---
> >  tests/qemu-iotests/070                                  |   7 +++++++
> >  tests/qemu-iotests/070.out                              |   7 +++++++
> >  tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 | Bin 0 -> 1424 bytes
> >  3 files changed, 14 insertions(+)
> >  create mode 100644 tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2
> > 
> > diff --git a/tests/qemu-iotests/070 b/tests/qemu-iotests/070
> > index ce71fa4..ea0dae7 100755
> > --- a/tests/qemu-iotests/070
> > +++ b/tests/qemu-iotests/070
> > @@ -72,6 +72,13 @@ echo "=== Verify open image read-only succeeds after log replay ==="
> >  $QEMU_IO -r -c "read -pP 0xa5 0 18M" "$TEST_IMG" 2>&1 | _filter_testdir \
> >                                                        | _filter_qemu_io
> >  
> > +_cleanup_test_img
> > +_use_sample_img test-disk2vhd.vhdx.bz2
> > +
> > +echo
> > +echo "=== Verify image created by Disk2VHD can be opened ==="
> > +$QEMU_IMG info "$TEST_IMG" 2>&1 | _filter_testdir | _filter_qemu
> > +
> 
> _filter_qemu shouldn't make a difference for $QEMU_IMG.  Anyway,
> 
> Reviewed-by: Fam Zheng <famz@redhat.com>
> 
> >  # success, all done
> >  echo "*** done"
> >  rm -f $seq.full
> > diff --git a/tests/qemu-iotests/070.out b/tests/qemu-iotests/070.out
> > index 922d62c..15f1fc1 100644
> > --- a/tests/qemu-iotests/070.out
> > +++ b/tests/qemu-iotests/070.out
> > @@ -18,4 +18,11 @@ No errors were found on the image.
> >  === Verify open image read-only succeeds after log replay ===
> >  read 18874368/18874368 bytes at offset 0
> >  18 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> > +
> > +=== Verify image created by Disk2VHD can be opened ===
> > +image: TEST_DIR/test-disk2vhd.vhdx
> > +file format: vhdx
> > +virtual size: 256M (268435456 bytes)
> > +disk size: 260M
> > +cluster_size: 2097152
> >  *** done
> > diff --git a/tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2 b/tests/qemu-iotests/sample_images/test-disk2vhd.vhdx.bz2
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..2891c9a6d62908e0195d3791817284016249aaee
> > GIT binary patch
> > literal 1424
> > zcmZ>Y%CIzaj8qGbG}k{O$Xb_J|NsC0KmUCH-JDzhyZ-zC_y7OrRo{&NR|gc{RqOEm
> > z=imPqn0Gw*bmiUDGLEd7O!Jz9a-FYyG%@kz4`91;!B*gMCgZ|o{hrI3-5eMf7&2U(
> > ze2MLfRMjk#3m2F92b;9b3)~wx*_X}#(!AiWP7J&Z7Z*rLWn7%V=F8TQk#Sieg@GYO
> > z%H#s$1cuB7Co(4-Ibm{f0b4Ia3Io%!MYdbrr~3cDvda022}1^3FSCOb0|sEu@-&&Z
> > zd{yQz7v?J$7%p6>a$t6L0IPy1Hi78)%CahBQl<Z;+5VngDYs_v^vp6jaD~m;eM-i~
> > z&Sh$|j1q($7cl#p@Y?z`Wbn)~;$8WKbK(Lv_Z21=7;XxsEqh$#HSI@WE6^;a!cbHI
> > zu?%7hkTh5`=j@LcDLKD{B^^#a3zjsRcFl8cicgpF_s*b{y^=;gXHGaUxHsk6Z1z!6
> > zR8jOb5@75|V437mU-yJTMS)R+<!|9h(XdP|@fL<tERWTG&+}1W<Y45=R(WVS*~r-_
> > zC)tvLS9QX(l#{Jfd<|w?_&irwSR~K$n-GH&gVWNbjzLvv#!ZvhEgL4x<WyO{%dgF0
> > zhm(_slhXnI%U%l|_%|#KQ59iedZ^gAy6MTT^pA1#JRe_E5V)X}!2L#gS<#~h?Gtqv
> > zl&`O9bYKze@DSi|;D~C!8#&cpD`XX`!J3mz{!xVw{r4+rTyzx)bS+3;^k;kfgqh(R
> > zjB+v<0`Hud8Jn$R?UuFBl*37&r7&VvuZxF5ll`XNKxZk5#5RfKr9KH<!3>rSX^b=2
> > zQf8bIGb{Zh_kHjC@8`d&KfM}#^|g=#lbQEvqpGz5Ed?!#9L1S`SKYn`R8T$Vx#hW1
> > zCM6{$l_f4NE*^KTTb?Ukoc4OXmY1i>B+sy}&s%2&>@2zH!^iM2gHz2Te8X9{cMVoM
> > z;{=)JSmb5gwe(qeljqKyZ`#t=IU7>$_6lS~Td$G%SNN0X?aCy3waorU$G7pHk*Ma-
> > zYE<;TxbKbjzRG&1nl|xWH#-<gzZXBa@XdC5+2yW=XNLk^I~R&OZFSL<+bNOsMeTpb
> > z%%mvCGRqI%Rym??0~1n(1@CMZGrbn8sA)Z0k$X~Q0^5#teF5#=oBpZXdBt9_ShVJu
> > z8-w~y8S_&dArUE&X2}KGr!EJkWlT{K;ttAXNYjmGtKHP1b&A_jYaOdaPOr<6nbTE{
> > zuGQZxQ2p%4>&9b+6?O;aW$X+xPMFR3&d_YRW#T@i-OCo2#W_wCnEbBIs?xo=)HQ$R
> > z>o>}_dZp{atdD$}H#<@;Max;n<kaU)7XF+%XO&;=U*>$qQfE(*sioE9rtPc(Y*#s7
> > zpKUfvXG`_DIWbL<qv^M0nZ<#RLK5XFQaOwErZ9+!_<mihd;E~K^vhov_a?RNTBv-^
> > zx$nd!MiKQrW>eatZPZ^(zWe`GGwaHqI+yFZw>+A3{QKrRzAG9SB77d|ev|%_V)0-`
> > z-JZ?tMvvIkH2+6tf9dm9+PF?_erw&^`i@ni63vV(0;eV%=E*Bq#jok#6Tz6rbtWUl
> > zLX<`8`FCKbFRwON)jb?9dDZx@toqN7-~A3R)HZBdvAAbTO@<1S0Fy|{so18Xs4bHB
> > zS53EGJoP`Mc;n-Ibe}Q4&w=3p0|SQwgF%C@o6`c-m0S(e=_6mW?bJO+Z@mKy2Ux)N
> > dpW$4UIbn)dbcj%=_t85O{X|r_v(Ec8000NwOCSIM
> > 
> > literal 0
> > HcmV?d00001
> > 
> > -- 
> > 1.8.3.1
> > 
> > 

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

end of thread, other threads:[~2014-05-14 12:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-13 14:00 [Qemu-devel] [PATCH 0/2] Accommodate VHDX images created by Disk2VHD Jeff Cody
2014-05-13 14:00 ` [Qemu-devel] [PATCH 1/2] block: vhdx - account for identical header sections Jeff Cody
2014-05-13 14:00 ` [Qemu-devel] [PATCH 2/2] block: add test for vhdx image created by Disk2VHD Jeff Cody
2014-05-14  1:58   ` Fam Zheng
2014-05-14 12:15     ` Jeff Cody
2014-05-14  8:07 ` [Qemu-devel] [PATCH 0/2] Accommodate VHDX images " Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).