[PATCH v6 00/10] Tighten qemu-img rules on missing backing format

Eric Blake posted 10 patches 3 years, 8 months ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200706203954.341758-1-eblake@redhat.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Michael Tokarev <mjt@tls.msk.ru>, Fam Zheng <fam@euphon.net>, Liu Yuan <namei.unix@gmail.com>, Laurent Vivier <laurent@vivier.eu>, Max Reitz <mreitz@redhat.com>
docs/system/deprecated.rst    | 58 +++++++++++++++++++----
docs/tools/qemu-img.rst       |  4 ++
include/block/block.h         |  4 +-
block.c                       | 53 +++++++++++++++------
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                    | 15 ++++--
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        |  4 +-
tests/qemu-iotests/020.out    |  4 +-
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    | 14 +++---
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        |  4 +-
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/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/293        | 88 +++++++++++++++++++++++++++++++++++
tests/qemu-iotests/293.out    | 59 +++++++++++++++++++++++
tests/qemu-iotests/group      |  1 +
141 files changed, 792 insertions(+), 402 deletions(-)
create mode 100755 tests/qemu-iotests/293
create mode 100644 tests/qemu-iotests/293.out
[PATCH v6 00/10] Tighten qemu-img rules on missing backing format
Posted by Eric Blake 3 years, 8 months ago
v5 was here:
https://lists.gnu.org/archive/html/qemu-devel/2020-04/msg00679.html
In v6:
- add a few more patches
- change qcow semantics based on several iterations of mailing list
debates on what behavior is easiest to support
- add iotesting that a probed raw file cannot be committed into
- instead of recording an implicit probed raw file, instead we record
only a non-raw file
- rebase to a few more affected iotests, plus s/5.0/5.1/

Yes, I know this is really short notice to make it in before feature
freeze for 5.1 (removal in 6.0), so it may end up slipping into 5.2
(removal in 6.1); but we'll see how things go.

Also available at
https://repo.or.cz/qemu/ericb.git/shortlog/refs/tags/qemu-img-create-backing-v6

001/10:[down] 'qemu-img: Flush stdout before before potential stderr messages'
002/10:[down] 'block: Finish deprecation of 'qemu-img convert -n -o''
003/10:[----] [--] 'sheepdog: Add trivial backing_fmt support'
004/10:[----] [--] 'vmdk: Add trivial backing_fmt support'
005/10:[0088] [FC] 'qcow: Tolerate backing_fmt='
006/10:[down] 'block: Error if backing file fails during creation without -u'
007/10:[0004] [FC] 'qcow2: Deprecate use of qemu-img amend to change backing file'
008/10:[0059] [FC] 'iotests: Specify explicit backing format where sensible'
009/10:[----] [-C] 'block: Add support to warn on backing file change without format'
010/10:[0027] [FC] 'qemu-img: Deprecate use of -b without -F'

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

 docs/system/deprecated.rst    | 58 +++++++++++++++++++----
 docs/tools/qemu-img.rst       |  4 ++
 include/block/block.h         |  4 +-
 block.c                       | 53 +++++++++++++++------
 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                    | 15 ++++--
 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        |  4 +-
 tests/qemu-iotests/020.out    |  4 +-
 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    | 14 +++---
 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        |  4 +-
 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/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/293        | 88 +++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/293.out    | 59 +++++++++++++++++++++++
 tests/qemu-iotests/group      |  1 +
 141 files changed, 792 insertions(+), 402 deletions(-)
 create mode 100755 tests/qemu-iotests/293
 create mode 100644 tests/qemu-iotests/293.out

-- 
2.27.0

Re: [PATCH v6 00/10] Tighten qemu-img rules on missing backing format
Posted by Kevin Wolf 3 years, 8 months ago
Am 06.07.2020 um 22:39 hat Eric Blake geschrieben:
> v5 was here:
> https://lists.gnu.org/archive/html/qemu-devel/2020-04/msg00679.html
> In v6:
> - add a few more patches
> - change qcow semantics based on several iterations of mailing list
> debates on what behavior is easiest to support
> - add iotesting that a probed raw file cannot be committed into
> - instead of recording an implicit probed raw file, instead we record
> only a non-raw file
> - rebase to a few more affected iotests, plus s/5.0/5.1/
> 
> Yes, I know this is really short notice to make it in before feature
> freeze for 5.1 (removal in 6.0), so it may end up slipping into 5.2
> (removal in 6.1); but we'll see how things go.

Thanks, applied to the block branch.

Kevin