qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL v2] Block layer patches
@ 2020-07-09 12:17 Kevin Wolf
  2020-07-10 15:41 ` Peter Maydell
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Kevin Wolf @ 2020-07-09 12:17 UTC (permalink / raw)
  To: qemu-block; +Cc: kwolf, peter.maydell, qemu-devel

The following changes since commit 8796c64ecdfd34be394ea277aaaaa53df0c76996:

  Merge remote-tracking branch 'remotes/kraxel/tags/audio-20200706-pull-request' into staging (2020-07-08 16:33:59 +0100)

are available in the Git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to d1c824e681e423a6224c6831a493e9175fa02dc1:

  qemu-img: Deprecate use of -b without -F (2020-07-09 14:14:55 +0200)

----------------------------------------------------------------
Block layer patches:

- file-posix: Mitigate file fragmentation with extent size hints
- Tighten qemu-img rules on missing backing format
- qemu-img map: Don't limit block status request size

----------------------------------------------------------------
Eric Blake (10):
      qemu-img: Flush stdout before before potential stderr messages
      block: Finish deprecation of 'qemu-img convert -n -o'
      sheepdog: Add trivial backing_fmt support
      vmdk: Add trivial backing_fmt support
      qcow: Tolerate backing_fmt=
      block: Error if backing file fails during creation without -u
      qcow2: Deprecate use of qemu-img amend to change backing file
      iotests: Specify explicit backing format where sensible
      block: Add support to warn on backing file change without format
      qemu-img: Deprecate use of -b without -F

Kevin Wolf (2):
      qemu-img map: Don't limit block status request size
      file-posix: Mitigate file fragmentation with extent size hints

Max Reitz (1):
      iotests: Simplify _filter_img_create() a bit

 qapi/block-core.json             | 11 +++--
 docs/system/deprecated.rst       | 58 ++++++++++++++++++++++----
 docs/tools/qemu-img.rst          |  4 ++
 include/block/block.h            |  4 +-
 include/block/block_int.h        |  1 +
 block.c                          | 53 +++++++++++++++++-------
 block/file-posix.c               | 42 +++++++++++++++++++
 block/qcow.c                     | 20 ++++++++-
 block/qcow2.c                    |  7 +++-
 block/sheepdog.c                 | 18 +++++++-
 block/stream.c                   |  2 +-
 block/vmdk.c                     | 14 +++++++
 blockdev.c                       |  3 +-
 qemu-img.c                       | 20 +++++----
 tests/qemu-iotests/017           |  2 +-
 tests/qemu-iotests/017.out       |  2 +-
 tests/qemu-iotests/018           |  2 +-
 tests/qemu-iotests/018.out       |  2 +-
 tests/qemu-iotests/019           |  5 ++-
 tests/qemu-iotests/019.out       |  2 +-
 tests/qemu-iotests/020           | 31 ++++++++------
 tests/qemu-iotests/020.out       | 15 +------
 tests/qemu-iotests/024           |  8 ++--
 tests/qemu-iotests/024.out       |  5 ++-
 tests/qemu-iotests/028           |  4 +-
 tests/qemu-iotests/028.out       |  2 +-
 tests/qemu-iotests/030           | 26 ++++++++----
 tests/qemu-iotests/034           |  2 +-
 tests/qemu-iotests/034.out       |  2 +-
 tests/qemu-iotests/037           |  2 +-
 tests/qemu-iotests/037.out       |  2 +-
 tests/qemu-iotests/038           |  2 +-
 tests/qemu-iotests/038.out       |  2 +-
 tests/qemu-iotests/039           |  3 +-
 tests/qemu-iotests/039.out       |  2 +-
 tests/qemu-iotests/040           | 47 +++++++++++++++------
 tests/qemu-iotests/041           | 37 +++++++++++------
 tests/qemu-iotests/042           |  4 +-
 tests/qemu-iotests/043           | 18 ++++----
 tests/qemu-iotests/043.out       | 16 +++++---
 tests/qemu-iotests/046           |  2 +-
 tests/qemu-iotests/046.out       |  2 +-
 tests/qemu-iotests/049.out       |  8 ++--
 tests/qemu-iotests/050           |  4 +-
 tests/qemu-iotests/050.out       |  2 +-
 tests/qemu-iotests/051           |  2 +-
 tests/qemu-iotests/051.out       |  2 +-
 tests/qemu-iotests/051.pc.out    |  2 +-
 tests/qemu-iotests/054.out       |  2 +-
 tests/qemu-iotests/056           |  3 +-
 tests/qemu-iotests/060           |  2 +-
 tests/qemu-iotests/060.out       |  2 +-
 tests/qemu-iotests/061           | 10 ++---
 tests/qemu-iotests/061.out       | 11 ++---
 tests/qemu-iotests/069           |  2 +-
 tests/qemu-iotests/069.out       |  2 +-
 tests/qemu-iotests/073           |  2 +-
 tests/qemu-iotests/073.out       |  2 +-
 tests/qemu-iotests/079.out       |  2 +-
 tests/qemu-iotests/082           | 10 +++--
 tests/qemu-iotests/082.out       | 30 +++++++++++---
 tests/qemu-iotests/085           |  4 +-
 tests/qemu-iotests/085.out       |  6 +--
 tests/qemu-iotests/089           |  2 +-
 tests/qemu-iotests/089.out       |  2 +-
 tests/qemu-iotests/095           |  4 +-
 tests/qemu-iotests/095.out       |  4 +-
 tests/qemu-iotests/097           |  4 +-
 tests/qemu-iotests/097.out       | 16 ++++----
 tests/qemu-iotests/098           |  2 +-
 tests/qemu-iotests/098.out       |  8 ++--
 tests/qemu-iotests/110           |  4 +-
 tests/qemu-iotests/110.out       |  4 +-
 tests/qemu-iotests/111.out       |  2 +-
 tests/qemu-iotests/112.out       |  4 +-
 tests/qemu-iotests/114           | 12 ++++++
 tests/qemu-iotests/114.out       |  9 ++++
 tests/qemu-iotests/122           | 34 +++++++++++-----
 tests/qemu-iotests/122.out       | 12 ++++--
 tests/qemu-iotests/126           |  4 +-
 tests/qemu-iotests/126.out       |  4 +-
 tests/qemu-iotests/127           |  4 +-
 tests/qemu-iotests/127.out       |  4 +-
 tests/qemu-iotests/129           |  3 +-
 tests/qemu-iotests/133           |  2 +-
 tests/qemu-iotests/133.out       |  2 +-
 tests/qemu-iotests/139           |  2 +-
 tests/qemu-iotests/141           |  6 +--
 tests/qemu-iotests/141.out       |  4 +-
 tests/qemu-iotests/142           |  2 +-
 tests/qemu-iotests/142.out       |  2 +-
 tests/qemu-iotests/153           | 14 +++----
 tests/qemu-iotests/153.out       | 35 ++++++++--------
 tests/qemu-iotests/154           | 42 +++++++++----------
 tests/qemu-iotests/154.out       | 42 +++++++++----------
 tests/qemu-iotests/155           | 12 ++++--
 tests/qemu-iotests/156           |  9 ++--
 tests/qemu-iotests/156.out       |  6 +--
 tests/qemu-iotests/158           |  2 +-
 tests/qemu-iotests/158.out       |  2 +-
 tests/qemu-iotests/161           |  8 ++--
 tests/qemu-iotests/161.out       |  8 ++--
 tests/qemu-iotests/176           |  4 +-
 tests/qemu-iotests/176.out       | 32 +++++++--------
 tests/qemu-iotests/177           |  2 +-
 tests/qemu-iotests/177.out       |  2 +-
 tests/qemu-iotests/179           |  2 +-
 tests/qemu-iotests/179.out       |  2 +-
 tests/qemu-iotests/189           |  2 +-
 tests/qemu-iotests/189.out       |  2 +-
 tests/qemu-iotests/191           | 12 +++---
 tests/qemu-iotests/191.out       | 12 +++---
 tests/qemu-iotests/195           |  6 +--
 tests/qemu-iotests/195.out       |  6 +--
 tests/qemu-iotests/198           |  2 +-
 tests/qemu-iotests/198.out       |  3 +-
 tests/qemu-iotests/204           |  2 +-
 tests/qemu-iotests/204.out       |  2 +-
 tests/qemu-iotests/216           |  2 +-
 tests/qemu-iotests/224           |  4 +-
 tests/qemu-iotests/225           |  2 +-
 tests/qemu-iotests/225.out       |  2 +-
 tests/qemu-iotests/228           |  5 ++-
 tests/qemu-iotests/243           |  7 ++--
 tests/qemu-iotests/245           |  3 +-
 tests/qemu-iotests/249           |  4 +-
 tests/qemu-iotests/249.out       |  4 +-
 tests/qemu-iotests/252           |  2 +-
 tests/qemu-iotests/257           |  3 +-
 tests/qemu-iotests/259.out       |  2 +-
 tests/qemu-iotests/267           |  4 +-
 tests/qemu-iotests/267.out       |  6 +--
 tests/qemu-iotests/270           |  2 +-
 tests/qemu-iotests/270.out       |  2 +-
 tests/qemu-iotests/273           |  4 +-
 tests/qemu-iotests/273.out       |  4 +-
 tests/qemu-iotests/274           | 12 +++---
 tests/qemu-iotests/274.out       | 29 +++++++------
 tests/qemu-iotests/279           |  4 +-
 tests/qemu-iotests/279.out       |  4 +-
 tests/qemu-iotests/290           |  2 +-
 tests/qemu-iotests/290.out       |  4 +-
 tests/qemu-iotests/301           | 88 ++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/301.out       | 59 +++++++++++++++++++++++++++
 tests/qemu-iotests/common.filter | 62 ++++++++++++----------------
 tests/qemu-iotests/group         |  1 +
 146 files changed, 906 insertions(+), 472 deletions(-)
 create mode 100755 tests/qemu-iotests/301
 create mode 100644 tests/qemu-iotests/301.out



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

* Re: [PULL v2] Block layer patches
  2020-07-09 12:17 [PULL v2] Block layer patches Kevin Wolf
@ 2020-07-10 15:41 ` Peter Maydell
  2020-07-10 16:05   ` Eric Blake
  2020-07-10 16:14 ` Eric Blake
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 17+ messages in thread
From: Peter Maydell @ 2020-07-10 15:41 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: QEMU Developers, Qemu-block

On Thu, 9 Jul 2020 at 13:17, Kevin Wolf <kwolf@redhat.com> wrote:
>
> The following changes since commit 8796c64ecdfd34be394ea277aaaaa53df0c76996:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/audio-20200706-pull-request' into staging (2020-07-08 16:33:59 +0100)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to d1c824e681e423a6224c6831a493e9175fa02dc1:
>
>   qemu-img: Deprecate use of -b without -F (2020-07-09 14:14:55 +0200)
>
> ----------------------------------------------------------------
> Block layer patches:
>
> - file-posix: Mitigate file fragmentation with extent size hints
> - Tighten qemu-img rules on missing backing format
> - qemu-img map: Don't limit block status request size
>

iotest 114 fails on FreeBSD and OpenBSD (and probably NetBSD
but that build hasn't reported back yet): looks like a
non-portable use of 'truncate' ?

  TEST    iotest-qcow2: 114 [fail]
QEMU          --
"/home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/../../aarch64-softmmu/qemu-system-aarch64"
-nodefaults -disp
lay none -machine virt -accel qtest
QEMU_IMG      --
"/home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/../../qemu-img"
QEMU_IO       --
"/home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/../../qemu-io"
--cache writeback --aio threads -f qcow2
QEMU_NBD      --
"/home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/../../qemu-nbd"
IMGFMT        -- qcow2 (compat=1.1)
IMGPROTO      -- file
PLATFORM      -- FreeBSD/amd64 freebsd 12.1-RELEASE
TEST_DIR      -- /home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/scratch
SOCK_DIR      -- /tmp/tmp.RQQ2LyuG
SOCKET_SCM_HELPER --

--- /home/qemu/qemu-test.FOdDM2/src/tests/qemu-iotests/114.out
2020-07-10 14:51:21.000000000 +0000
+++ /home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/114.out.bad
 2020-07-10 15:15:14.446278000 +0000
@@ -1,8 +1,11 @@
 QA output created by 114
-qemu-img: warning: Deprecated use of backing file without explicit
backing format (detected format of raw)
-Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
backing_file=TEST_DIR/t.IMGFMT.orig
+truncate: illegal option -- -
+usage: truncate [-c] -s [+|-|%|/]size[K|k|M|m|G|g|T|t] file ...
+       truncate [-c] -r rfile file ...
+qemu-img: TEST_DIR/t.IMGFMT: Could not open 'TEST_DIR/t.IMGFMT.orig':
No such file or directory
+Could not open backing image.
 Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
-qemu-img: warning: Deprecated use of backing file without explicit
backing format
+qemu-img: Could not open
'/home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/scratch/t.qcow2.orig':
Could not open '/home/qemu/qemu-test.FOdDM2/build/tests/qemu-iotests/scratch/t.qcow2.orig':
No such file or directory
 qemu-img: warning: Deprecated use of backing file without explicit
backing format (detected format of IMGFMT)
 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
 qemu-img: warning: Deprecated use of unopened backing file without
explicit backing format, use of this image requires potentially unsafe
format probing

thanks
-- PMM


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

* Re: [PULL v2] Block layer patches
  2020-07-10 15:41 ` Peter Maydell
@ 2020-07-10 16:05   ` Eric Blake
  0 siblings, 0 replies; 17+ messages in thread
From: Eric Blake @ 2020-07-10 16:05 UTC (permalink / raw)
  To: Peter Maydell, Kevin Wolf; +Cc: QEMU Developers, Qemu-block

On 7/10/20 10:41 AM, Peter Maydell wrote:

>>    qemu-img: Deprecate use of -b without -F (2020-07-09 14:14:55 +0200)
>>
>> ----------------------------------------------------------------
>> Block layer patches:
>>
>> - file-posix: Mitigate file fragmentation with extent size hints
>> - Tighten qemu-img rules on missing backing format
>> - qemu-img map: Don't limit block status request size
>>
> 
> iotest 114 fails on FreeBSD and OpenBSD (and probably NetBSD
> but that build hasn't reported back yet): looks like a
> non-portable use of 'truncate' ?
> 

> @@ -1,8 +1,11 @@
>   QA output created by 114
> -qemu-img: warning: Deprecated use of backing file without explicit
> backing format (detected format of raw)
> -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
> backing_file=TEST_DIR/t.IMGFMT.orig
> +truncate: illegal option -- -
> +usage: truncate [-c] -s [+|-|%|/]size[K|k|M|m|G|g|T|t] file ...
> +       truncate [-c] -r rfile file ...
> +qemu-img: TEST_DIR/t.IMGFMT: Could not open 'TEST_DIR/t.IMGFMT.orig':

Yep, 'truncate' is not POSIX, but we've been lucky that most of our uses 
have been under '_supported_os Linux'; test 272 runs on BSD with 
'truncate -s' instead of 'truncate --size'.  The fix is obvious; I can 
post the followup to squash in if that will help.

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



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

* Re: [PULL v2] Block layer patches
  2020-07-09 12:17 [PULL v2] Block layer patches Kevin Wolf
  2020-07-10 15:41 ` Peter Maydell
@ 2020-07-10 16:14 ` Eric Blake
  2020-07-10 16:35 ` [PATCH] fixup! qemu-img: Deprecate use of -b without -F Eric Blake
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 17+ messages in thread
From: Eric Blake @ 2020-07-10 16:14 UTC (permalink / raw)
  To: Kevin Wolf, qemu-block; +Cc: peter.maydell, qemu-devel

On 7/9/20 7:17 AM, Kevin Wolf wrote:
> The following changes since commit 8796c64ecdfd34be394ea277aaaaa53df0c76996:
> 
>    Merge remote-tracking branch 'remotes/kraxel/tags/audio-20200706-pull-request' into staging (2020-07-08 16:33:59 +0100)
> 
> are available in the Git repository at:
> 
>    git://repo.or.cz/qemu/kevin.git tags/for-upstream
> 
> for you to fetch changes up to d1c824e681e423a6224c6831a493e9175fa02dc1:
> 
>    qemu-img: Deprecate use of -b without -F (2020-07-09 14:14:55 +0200)
> 
> ----------------------------------------------------------------
> Block layer patches:
> 
> - file-posix: Mitigate file fragmentation with extent size hints
> - Tighten qemu-img rules on missing backing format
> - qemu-img map: Don't limit block status request size
> 
> ----------------------------------------------------------------
> Eric Blake (10):
>        qemu-img: Flush stdout before before potential stderr messages
>        block: Finish deprecation of 'qemu-img convert -n -o'
>        sheepdog: Add trivial backing_fmt support
>        vmdk: Add trivial backing_fmt support
>        qcow: Tolerate backing_fmt=

I see you renumbered my test 293 to 301 for conflict resolution, but did 
not update the commit message to call out the updated number ;)

Since we may have to do a v3 because of the 'truncate -s' issue in 114, 
you could touch that up too.


>   tests/qemu-iotests/301           | 88 ++++++++++++++++++++++++++++++++++++++++
>   tests/qemu-iotests/301.out       | 59 +++++++++++++++++++++++++++
>   tests/qemu-iotests/common.filter | 62 ++++++++++++----------------
>   tests/qemu-iotests/group         |  1 +
>   146 files changed, 906 insertions(+), 472 deletions(-)
>   create mode 100755 tests/qemu-iotests/301
>   create mode 100644 tests/qemu-iotests/301.out
> 
> 

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



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

* [PATCH] fixup! qemu-img: Deprecate use of -b without -F
  2020-07-09 12:17 [PULL v2] Block layer patches Kevin Wolf
  2020-07-10 15:41 ` Peter Maydell
  2020-07-10 16:14 ` Eric Blake
@ 2020-07-10 16:35 ` Eric Blake
  2020-07-13 11:22 ` [PATCH] fixup! qemu-img: Flush stdout before before potential stderr messages Eric Blake
  2020-07-13 11:40 ` [PATCH] fixup! iotests: Specify explicit backing format where sensible Eric Blake
  4 siblings, 0 replies; 17+ messages in thread
From: Eric Blake @ 2020-07-10 16:35 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, peter.maydell, open list:Block layer core, Max Reitz

Port to BSD truncate.

Signed-off-by: Eric Blake <eblake@redhat.com>
---
 tests/qemu-iotests/114 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/114 b/tests/qemu-iotests/114
index 143683381334..d0609c499388 100755
--- a/tests/qemu-iotests/114
+++ b/tests/qemu-iotests/114
@@ -45,7 +45,7 @@ _unsupported_imgopts data_file
 # Intentionally specify backing file without backing format; demonstrate
 # the difference in warning messages when backing file could be probed.
 # Note that only a non-raw probe result will affect the resulting image.
-truncate --size=64M "$TEST_IMG.orig"
+truncate -s $((64 * 1024 * 1024)) "$TEST_IMG.orig"
 _make_test_img -b "$TEST_IMG.orig" 64M

 TEST_IMG="$TEST_IMG.base" _make_test_img 64M
-- 
2.27.0



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

* [PATCH] fixup! qemu-img: Flush stdout before before potential stderr messages
  2020-07-09 12:17 [PULL v2] Block layer patches Kevin Wolf
                   ` (2 preceding siblings ...)
  2020-07-10 16:35 ` [PATCH] fixup! qemu-img: Deprecate use of -b without -F Eric Blake
@ 2020-07-13 11:22 ` Eric Blake
  2020-07-13 11:40 ` [PATCH] fixup! iotests: Specify explicit backing format where sensible Eric Blake
  4 siblings, 0 replies; 17+ messages in thread
From: Eric Blake @ 2020-07-13 11:22 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, peter.maydell, open list:Block layer core, mreitz

Max noticed that I didn't run iotests on -luks...

Signed-off-by: Eric Blake <eblake@redhat.com>
---
 tests/qemu-iotests/282.out | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/qemu-iotests/282.out b/tests/qemu-iotests/282.out
index 5d079dabce1d..67db7ab15aff 100644
--- a/tests/qemu-iotests/282.out
+++ b/tests/qemu-iotests/282.out
@@ -1,11 +1,11 @@
 QA output created by 282
 == Create non-UTF8 secret ==
 == Throws an error because of invalid UTF-8 secret ==
-qemu-img: vol.img: Data from secret sec0 is not valid UTF-8
 Formatting 'vol.img', fmt=luks size=4194304 key-secret=sec0
+qemu-img: vol.img: Data from secret sec0 is not valid UTF-8
 == Image file should not exist after the error ==
 == Create a stub image file and run qemu-img again ==
-qemu-img: vol.img: Data from secret sec0 is not valid UTF-8
 Formatting 'vol.img', fmt=luks size=4194304 key-secret=sec0
+qemu-img: vol.img: Data from secret sec0 is not valid UTF-8
 == Pre-existing image file should also be deleted after the error ==
- *** done
+*** done
-- 
2.27.0



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

* [PATCH] fixup! iotests: Specify explicit backing format where sensible
  2020-07-09 12:17 [PULL v2] Block layer patches Kevin Wolf
                   ` (3 preceding siblings ...)
  2020-07-13 11:22 ` [PATCH] fixup! qemu-img: Flush stdout before before potential stderr messages Eric Blake
@ 2020-07-13 11:40 ` Eric Blake
  2020-07-13 12:50   ` Kevin 'Max' Wolf
  4 siblings, 1 reply; 17+ messages in thread
From: Eric Blake @ 2020-07-13 11:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, peter.maydell, open list:Block layer core, mreitz

Max spotted that I didn't test -qed...

Signed-off-by: Eric Blake <eblake@redhat.com>
---
 tests/qemu-iotests/024     | 2 +-
 tests/qemu-iotests/024.out | 1 -
 tests/qemu-iotests/043     | 5 +++--
 tests/qemu-iotests/043.out | 4 ----
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/tests/qemu-iotests/024 b/tests/qemu-iotests/024
index 3c5d57310e94..12aceb2d41f6 100755
--- a/tests/qemu-iotests/024
+++ b/tests/qemu-iotests/024
@@ -180,7 +180,7 @@ $QEMU_IMG rebase -f "$IMGFMT" -b "$BASE_NEW_OREL" -F $IMGFMT "$OVERLAY_WREL"
 popd >/dev/null

 # Verify the backing path is correct
-TEST_IMG=$OVERLAY _img_info | grep '^backing file'
+TEST_IMG=$OVERLAY _img_info | grep '^backing file:'

 echo

diff --git a/tests/qemu-iotests/024.out b/tests/qemu-iotests/024.out
index f4fd77fd5b4d..973a5a371119 100644
--- a/tests/qemu-iotests/024.out
+++ b/tests/qemu-iotests/024.out
@@ -158,7 +158,6 @@ wrote 65536/65536 bytes at offset 196608
 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

 backing file: t.IMGFMT.base_new (actual path: TEST_DIR/subdir/t.IMGFMT.base_new)
-backing file format: IMGFMT

 read 65536/65536 bytes at offset 0
 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
diff --git a/tests/qemu-iotests/043 b/tests/qemu-iotests/043
index e4022b7044de..3271737f69cc 100755
--- a/tests/qemu-iotests/043
+++ b/tests/qemu-iotests/043
@@ -82,11 +82,12 @@ _make_test_img -b "$TEST_IMG.2.base" -F $IMGFMT $size

 echo
 echo "== finite chain of length 3 (human) =="
-_img_info --backing-chain
+# Exclude backing format, since qed differs from qcow2 on what gets stored
+_img_info --backing-chain | grep -v '^backing file format:'

 echo
 echo "== finite chain of length 3 (json) =="
-_img_info --backing-chain --output=json
+_img_info --backing-chain --output=json | grep -v 'backing-filename-format'

 # success, all done
 echo "*** done"
diff --git a/tests/qemu-iotests/043.out b/tests/qemu-iotests/043.out
index 7251e26d4ff9..63ecb2181690 100644
--- a/tests/qemu-iotests/043.out
+++ b/tests/qemu-iotests/043.out
@@ -25,14 +25,12 @@ file format: IMGFMT
 virtual size: 128 MiB (134217728 bytes)
 cluster_size: 65536
 backing file: TEST_DIR/t.IMGFMT.2.base
-backing file format: IMGFMT

 image: TEST_DIR/t.IMGFMT.2.base
 file format: IMGFMT
 virtual size: 128 MiB (134217728 bytes)
 cluster_size: 65536
 backing file: TEST_DIR/t.IMGFMT.1.base
-backing file format: IMGFMT

 image: TEST_DIR/t.IMGFMT.1.base
 file format: IMGFMT
@@ -42,7 +40,6 @@ cluster_size: 65536
 == finite chain of length 3 (json) ==
 [
     {
-        "backing-filename-format": "IMGFMT",
         "virtual-size": 134217728,
         "filename": "TEST_DIR/t.IMGFMT",
         "cluster-size": 65536,
@@ -52,7 +49,6 @@ cluster_size: 65536
         "dirty-flag": false
     },
     {
-        "backing-filename-format": "IMGFMT",
         "virtual-size": 134217728,
         "filename": "TEST_DIR/t.IMGFMT.2.base",
         "cluster-size": 65536,
-- 
2.27.0



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

* Re: [PATCH] fixup! iotests: Specify explicit backing format where sensible
  2020-07-13 11:40 ` [PATCH] fixup! iotests: Specify explicit backing format where sensible Eric Blake
@ 2020-07-13 12:50   ` Kevin 'Max' Wolf
  2020-07-13 13:44     ` Eric Blake
  0 siblings, 1 reply; 17+ messages in thread
From: Kevin 'Max' Wolf @ 2020-07-13 12:50 UTC (permalink / raw)
  To: Eric Blake; +Cc: peter.maydell, qemu-devel, open list:Block layer core, mreitz

Am 13.07.2020 um 13:40 hat Eric Blake geschrieben:
> Max spotted that I didn't test -qed...
> 
> Signed-off-by: Eric Blake <eblake@redhat.com>

I guess I have a new name now... :-)

Kevin^WMax



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

* Re: [PATCH] fixup! iotests: Specify explicit backing format where sensible
  2020-07-13 12:50   ` Kevin 'Max' Wolf
@ 2020-07-13 13:44     ` Eric Blake
  0 siblings, 0 replies; 17+ messages in thread
From: Eric Blake @ 2020-07-13 13:44 UTC (permalink / raw)
  To: Kevin 'Max' Wolf
  Cc: peter.maydell, qemu-devel, open list:Block layer core, mreitz

On 7/13/20 7:50 AM, Kevin 'Max' Wolf wrote:
> Am 13.07.2020 um 13:40 hat Eric Blake geschrieben:
>> Max spotted that I didn't test -qed...
>>
>> Signed-off-by: Eric Blake <eblake@redhat.com>
> 
> I guess I have a new name now... :-)

Sorry, too many replies on the thread, and I messed up on which one I 
was reading!

> 
> Kevin^WMax

Brown Paper Bag^W^W^WEric

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



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

* [PULL v2] Block layer patches
@ 2020-09-08 11:53 Kevin Wolf
  2020-09-09 21:55 ` Peter Maydell
  0 siblings, 1 reply; 17+ messages in thread
From: Kevin Wolf @ 2020-09-08 11:53 UTC (permalink / raw)
  To: qemu-block; +Cc: kwolf, peter.maydell, qemu-devel

The following changes since commit 7c37270b3fbe3d034ba80e488761461676e21eb4:

  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20200904-pull-request' into staging (2020-09-06 16:23:55 +0100)

are available in the Git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to c984095a47c30e0952d34e77decf9f4c0f8d5a19:

  block/nvme: Pair doorbell registers (2020-09-08 13:40:53 +0200)

----------------------------------------------------------------
Block layer patches:

- qemu-img create: Fail gracefully when backing file is an empty string
- Fixes related to filter block nodes ("Deal with filters" series)
- block/nvme: Various cleanups required to use multiple queues
- block/nvme: Use NvmeBar structure from "block/nvme.h"
- file-win32: Fix "locking" option
- iotests: Allow running from different directory

----------------------------------------------------------------
Connor Kuehl (1):
      block: Raise an error when backing file parameter is an empty string

Kevin Wolf (2):
      iotests: Allow running from different directory
      file-win32: Fix "locking" option

Max Reitz (43):
      block: Add child access functions
      block: Add chain helper functions
      block: bdrv_cow_child() for bdrv_has_zero_init()
      block: bdrv_set_backing_hd() is about bs->backing
      block: Include filters when freezing backing chain
      block: Drop bdrv_is_encrypted()
      block: Add bdrv_supports_compressed_writes()
      throttle: Support compressed writes
      copy-on-read: Support compressed writes
      block: Use bdrv_filter_(bs|child) where obvious
      block: Use CAFs in block status functions
      stream: Deal with filters
      block: Use CAFs when working with backing chains
      block: Use bdrv_cow_child() in bdrv_co_truncate()
      block: Re-evaluate backing file handling in reopen
      block: Flush all children in generic code
      vmdk: Drop vmdk_co_flush()
      block: Iterate over children in refresh_limits
      block: Use CAFs in bdrv_refresh_filename()
      block: Use CAF in bdrv_co_rw_vmstate()
      block/snapshot: Fix fallback
      block: Use CAFs for debug breakpoints
      block: Improve get_allocated_file_size's default
      block/null: Implement bdrv_get_allocated_file_size
      blockdev: Use CAF in external_snapshot_prepare()
      block: Report data child for query-blockstats
      block: Use child access functions for QAPI queries
      block-copy: Use CAF to find sync=top base
      mirror: Deal with filters
      backup: Deal with filters
      commit: Deal with filters
      nbd: Use CAF when looking for dirty bitmap
      qemu-img: Use child access functions
      block: Drop backing_bs()
      blockdev: Fix active commit choice
      block: Inline bdrv_co_block_status_from_*()
      block: Leave BDS.backing_{file,format} constant
      iotests: Test that qcow2's data-file is flushed
      iotests: Let complete_and_wait() work with commit
      iotests: Add filter commit test cases
      iotests: Add filter mirror test cases
      iotests: Add test for commit in sub directory
      iotests: Test committing to overridden backing

Philippe Mathieu-Daudé (18):
      block/nvme: Replace magic value by SCALE_MS definition
      block/nvme: Avoid further processing if trace event not enabled
      block/nvme: Let nvme_create_queue_pair() fail gracefully
      block/nvme: Define INDEX macros to ease code review
      block/nvme: Improve error message when IO queue creation failed
      block/nvme: Use common error path in nvme_add_io_queue()
      block/nvme: Rename local variable
      block/nvme: Use union of NvmeIdCtrl / NvmeIdNs structures
      block/nvme: Replace qemu_try_blockalign0 by qemu_try_blockalign/memset
      block/nvme: Replace qemu_try_blockalign(bs) by qemu_try_memalign(pg_sz)
      block/nvme: Simplify nvme_init_queue() arguments
      block/nvme: Replace BDRV_POLL_WHILE by AIO_WAIT_WHILE
      block/nvme: Simplify nvme_create_queue_pair() arguments
      block/nvme: Extract nvme_poll_queue()
      block/nvme: Use an array of EventNotifier
      block/nvme: Group controller registers in NVMeRegs structure
      block/nvme: Use generic NvmeBar structure
      block/nvme: Pair doorbell registers

 qapi/block-core.json           |  58 +++--
 include/block/block.h          |   2 +-
 include/block/block_int.h      |  95 +++++---
 block.c                        | 492 +++++++++++++++++++++++++++++++++--------
 block/backup-top.c             |   4 +-
 block/backup.c                 |   9 +-
 block/blkdebug.c               |   7 +-
 block/blklogwrites.c           |   1 -
 block/block-backend.c          |   7 +-
 block/block-copy.c             |   4 +-
 block/commit.c                 |  95 +++++---
 block/copy-on-read.c           |  13 +-
 block/file-win32.c             |  22 +-
 block/filter-compress.c        |   2 -
 block/io.c                     | 142 ++++++------
 block/mirror.c                 | 119 +++++++---
 block/monitor/block-hmp-cmds.c |   2 +-
 block/null.c                   |   7 +
 block/nvme.c                   | 248 +++++++++++----------
 block/qapi.c                   |  74 +++++--
 block/snapshot.c               | 104 +++++++--
 block/stream.c                 |  63 ++++--
 block/throttle.c               |  11 +-
 block/vmdk.c                   |  16 --
 blockdev.c                     | 101 +++++++--
 migration/block-dirty-bitmap.c |   8 +-
 nbd/server.c                   |   6 +-
 qemu-img.c                     |  43 ++--
 tests/qemu-iotests/iotests.py  |  10 +-
 tests/qemu-iotests/020         |  44 ++++
 tests/qemu-iotests/020.out     |  10 +
 tests/qemu-iotests/040         | 238 ++++++++++++++++++++
 tests/qemu-iotests/040.out     |   4 +-
 tests/qemu-iotests/041         | 146 +++++++++++-
 tests/qemu-iotests/041.out     |   4 +-
 tests/qemu-iotests/049         |   4 +
 tests/qemu-iotests/049.out     |   5 +
 tests/qemu-iotests/153.out     |   2 +-
 tests/qemu-iotests/184         |   3 +-
 tests/qemu-iotests/184.out     |  14 +-
 tests/qemu-iotests/204.out     |   1 +
 tests/qemu-iotests/228         |   6 +-
 tests/qemu-iotests/228.out     |   6 +-
 tests/qemu-iotests/244         |  49 ++++
 tests/qemu-iotests/244.out     |   7 +
 tests/qemu-iotests/245         |   4 +-
 tests/qemu-iotests/273.out     |   4 +-
 tests/qemu-iotests/check       |   2 +-
 48 files changed, 1763 insertions(+), 555 deletions(-)



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

* Re: [PULL v2] Block layer patches
  2020-09-08 11:53 [PULL v2] Block layer patches Kevin Wolf
@ 2020-09-09 21:55 ` Peter Maydell
  2020-09-09 22:09   ` Eric Blake
  0 siblings, 1 reply; 17+ messages in thread
From: Peter Maydell @ 2020-09-09 21:55 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: QEMU Developers, Qemu-block

On Tue, 8 Sep 2020 at 12:53, Kevin Wolf <kwolf@redhat.com> wrote:
>
> The following changes since commit 7c37270b3fbe3d034ba80e488761461676e21eb4:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/ui-20200904-pull-request' into staging (2020-09-06 16:23:55 +0100)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to c984095a47c30e0952d34e77decf9f4c0f8d5a19:
>
>   block/nvme: Pair doorbell registers (2020-09-08 13:40:53 +0200)
>
> ----------------------------------------------------------------
> Block layer patches:
>
> - qemu-img create: Fail gracefully when backing file is an empty string
> - Fixes related to filter block nodes ("Deal with filters" series)
> - block/nvme: Various cleanups required to use multiple queues
> - block/nvme: Use NvmeBar structure from "block/nvme.h"
> - file-win32: Fix "locking" option
> - iotests: Allow running from different directory

This fails 'make check' on NetBSD and OpenBSD:

./check: line 47: realpath: command not found
./check: line 60: /common.env: No such file or directory
check: failed to source common.env (make sure the qemu-iotests are run
from tests/qemu-iotests in the build tree)
gmake: *** [/home/qemu/qemu-test.vcb7nz/src/tests/Makefile.include:144:
check-block] Error 1

thanks
-- PMM


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

* Re: [PULL v2] Block layer patches
  2020-09-09 21:55 ` Peter Maydell
@ 2020-09-09 22:09   ` Eric Blake
  2020-09-10  9:13     ` Kevin Wolf
  2020-09-12 12:27     ` Thomas Huth
  0 siblings, 2 replies; 17+ messages in thread
From: Eric Blake @ 2020-09-09 22:09 UTC (permalink / raw)
  To: Peter Maydell, Kevin Wolf; +Cc: QEMU Developers, Qemu-block

On 9/9/20 4:55 PM, Peter Maydell wrote:

> 
> This fails 'make check' on NetBSD and OpenBSD:
> 
> ./check: line 47: realpath: command not found
> ./check: line 60: /common.env: No such file or directory
> check: failed to source common.env (make sure the qemu-iotests are run
> from tests/qemu-iotests in the build tree)
> gmake: *** [/home/qemu/qemu-test.vcb7nz/src/tests/Makefile.include:144:
> check-block] Error 1

BSD has 'readlink -f' (and so does coreutils on Linux), which does the 
same thing as the Linux-only realpath.

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



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

* Re: [PULL v2] Block layer patches
  2020-09-09 22:09   ` Eric Blake
@ 2020-09-10  9:13     ` Kevin Wolf
  2020-09-10 11:54       ` Max Reitz
  2020-09-12 12:27     ` Thomas Huth
  1 sibling, 1 reply; 17+ messages in thread
From: Kevin Wolf @ 2020-09-10  9:13 UTC (permalink / raw)
  To: Eric Blake; +Cc: Peter Maydell, QEMU Developers, Qemu-block, mreitz

Am 10.09.2020 um 00:09 hat Eric Blake geschrieben:
> On 9/9/20 4:55 PM, Peter Maydell wrote:
> 
> > 
> > This fails 'make check' on NetBSD and OpenBSD:
> > 
> > ./check: line 47: realpath: command not found
> > ./check: line 60: /common.env: No such file or directory
> > check: failed to source common.env (make sure the qemu-iotests are run
> > from tests/qemu-iotests in the build tree)
> > gmake: *** [/home/qemu/qemu-test.vcb7nz/src/tests/Makefile.include:144:
> > check-block] Error 1
> 
> BSD has 'readlink -f' (and so does coreutils on Linux), which does the same
> thing as the Linux-only realpath.

Thanks, I'll use that in v3.

Max, if v3 doesn't go through either, please take over the pull request
as I will be on PTO until the 22th.

Kevin



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

* Re: [PULL v2] Block layer patches
  2020-09-10  9:13     ` Kevin Wolf
@ 2020-09-10 11:54       ` Max Reitz
  0 siblings, 0 replies; 17+ messages in thread
From: Max Reitz @ 2020-09-10 11:54 UTC (permalink / raw)
  To: Kevin Wolf, Eric Blake; +Cc: Peter Maydell, QEMU Developers, Qemu-block


[-- Attachment #1.1: Type: text/plain, Size: 869 bytes --]

On 10.09.20 11:13, Kevin Wolf wrote:
> Am 10.09.2020 um 00:09 hat Eric Blake geschrieben:
>> On 9/9/20 4:55 PM, Peter Maydell wrote:
>>
>>>
>>> This fails 'make check' on NetBSD and OpenBSD:
>>>
>>> ./check: line 47: realpath: command not found
>>> ./check: line 60: /common.env: No such file or directory
>>> check: failed to source common.env (make sure the qemu-iotests are run
>>> from tests/qemu-iotests in the build tree)
>>> gmake: *** [/home/qemu/qemu-test.vcb7nz/src/tests/Makefile.include:144:
>>> check-block] Error 1
>>
>> BSD has 'readlink -f' (and so does coreutils on Linux), which does the same
>> thing as the Linux-only realpath.
> 
> Thanks, I'll use that in v3.
> 
> Max, if v3 doesn't go through either, please take over the pull request
> as I will be on PTO until the 22th.

OK, sure.

(Enjoy your time off. :))

Max


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

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

* Re: [PULL v2] Block layer patches
  2020-09-09 22:09   ` Eric Blake
  2020-09-10  9:13     ` Kevin Wolf
@ 2020-09-12 12:27     ` Thomas Huth
  2020-09-12 18:38       ` Peter Maydell
  1 sibling, 1 reply; 17+ messages in thread
From: Thomas Huth @ 2020-09-12 12:27 UTC (permalink / raw)
  To: Eric Blake, Peter Maydell; +Cc: QEMU Developers, Qemu-block

On 10/09/2020 00.09, Eric Blake wrote:
> On 9/9/20 4:55 PM, Peter Maydell wrote:
> 
>>
>> This fails 'make check' on NetBSD and OpenBSD:
>>
>> ./check: line 47: realpath: command not found
>> ./check: line 60: /common.env: No such file or directory
>> check: failed to source common.env (make sure the qemu-iotests are run
>> from tests/qemu-iotests in the build tree)
>> gmake: *** [/home/qemu/qemu-test.vcb7nz/src/tests/Makefile.include:144:
>> check-block] Error 1
> 
> BSD has 'readlink -f' (and so does coreutils on Linux), which does the
> same thing as the Linux-only realpath.

Seems like readlink -f does not work on macOS:

 https://cirrus-ci.com/task/5735398972325888?command=main#L7038

Any ideas what to use instead?

Peter, why did this slip through your merge tests, do you still skip the
iotests there?

 Thomas



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

* Re: [PULL v2] Block layer patches
  2020-09-12 12:27     ` Thomas Huth
@ 2020-09-12 18:38       ` Peter Maydell
  2020-09-14  5:36         ` Thomas Huth
  0 siblings, 1 reply; 17+ messages in thread
From: Peter Maydell @ 2020-09-12 18:38 UTC (permalink / raw)
  To: Thomas Huth; +Cc: QEMU Developers, Qemu-block

On Sat, 12 Sep 2020 at 13:27, Thomas Huth <thuth@redhat.com> wrote:
> Peter, why did this slip through your merge tests, do you still skip the
> iotests there?

I forget what the reason for them being skipped is, maybe
it's because they demand a gnu sed ?

thanks
-- PMM


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

* Re: [PULL v2] Block layer patches
  2020-09-12 18:38       ` Peter Maydell
@ 2020-09-14  5:36         ` Thomas Huth
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-14  5:36 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers, Qemu-block

On 12/09/2020 20.38, Peter Maydell wrote:
> On Sat, 12 Sep 2020 at 13:27, Thomas Huth <thuth@redhat.com> wrote:
>> Peter, why did this slip through your merge tests, do you still skip the
>> iotests there?
> 
> I forget what the reason for them being skipped is, maybe
> it's because they demand a gnu sed ?

The tests/check-block.sh script should tell you when you run "make
check-block" ... but yes, they need gnu sed - which should be available
via homebrew.

 Thomas



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

end of thread, other threads:[~2020-09-14  5:37 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-09 12:17 [PULL v2] Block layer patches Kevin Wolf
2020-07-10 15:41 ` Peter Maydell
2020-07-10 16:05   ` Eric Blake
2020-07-10 16:14 ` Eric Blake
2020-07-10 16:35 ` [PATCH] fixup! qemu-img: Deprecate use of -b without -F Eric Blake
2020-07-13 11:22 ` [PATCH] fixup! qemu-img: Flush stdout before before potential stderr messages Eric Blake
2020-07-13 11:40 ` [PATCH] fixup! iotests: Specify explicit backing format where sensible Eric Blake
2020-07-13 12:50   ` Kevin 'Max' Wolf
2020-07-13 13:44     ` Eric Blake
  -- strict thread matches above, loose matches on Subject: below --
2020-09-08 11:53 [PULL v2] Block layer patches Kevin Wolf
2020-09-09 21:55 ` Peter Maydell
2020-09-09 22:09   ` Eric Blake
2020-09-10  9:13     ` Kevin Wolf
2020-09-10 11:54       ` Max Reitz
2020-09-12 12:27     ` Thomas Huth
2020-09-12 18:38       ` Peter Maydell
2020-09-14  5:36         ` Thomas Huth

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