[PATCH v5 0/9] block: Fix resize (extending) of short overlays

Kevin Wolf posted 9 patches 4 years ago
Test docker-quick@centos7 passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test checkpatch passed
Test asan passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200422152129.167074-1-kwolf@redhat.com
Maintainers: Stefan Weil <sw@weilnetz.de>, John Snow <jsnow@redhat.com>, Max Reitz <mreitz@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Liu Yuan <namei.unix@gmail.com>, "Denis V. Lunev" <den@openvz.org>, Jeff Cody <codyprime@gmail.com>, Fam Zheng <fam@euphon.net>, Stefan Hajnoczi <stefanha@redhat.com>, "Richard W.M. Jones" <rjones@redhat.com>, Markus Armbruster <armbru@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Jason Dillaman <dillaman@redhat.com>, Peter Lieven <pl@kamp.de>, Ronnie Sahlberg <ronniesahlberg@gmail.com>
There is a newer version of this series
include/block/block.h          |   5 +-
include/block/block_int.h      |  10 +-
include/sysemu/block-backend.h |   2 +-
block.c                        |   3 +-
block/block-backend.c          |   4 +-
block/commit.c                 |   4 +-
block/crypto.c                 |   7 +-
block/file-posix.c             |   6 +-
block/file-win32.c             |   2 +-
block/gluster.c                |   1 +
block/io.c                     |  32 +++-
block/iscsi.c                  |   2 +-
block/mirror.c                 |   2 +-
block/nfs.c                    |   3 +-
block/parallels.c              |   6 +-
block/qcow.c                   |   4 +-
block/qcow2-refcount.c         |   2 +-
block/qcow2.c                  |  51 +++++--
block/qed.c                    |   3 +-
block/raw-format.c             |   6 +-
block/rbd.c                    |   1 +
block/sheepdog.c               |   4 +-
block/ssh.c                    |   2 +-
block/vdi.c                    |   2 +-
block/vhdx-log.c               |   2 +-
block/vhdx.c                   |   6 +-
block/vmdk.c                   |   8 +-
block/vpc.c                    |   2 +-
blockdev.c                     |   2 +-
qemu-img.c                     |   2 +-
qemu-io-cmds.c                 |   2 +-
tests/test-block-iothread.c    |   9 +-
tests/qemu-iotests/iotests.py  |   5 +-
tests/qemu-iotests/274         | 157 ++++++++++++++++++++
tests/qemu-iotests/274.out     | 260 +++++++++++++++++++++++++++++++++
tests/qemu-iotests/group       |   1 +
36 files changed, 558 insertions(+), 62 deletions(-)
create mode 100755 tests/qemu-iotests/274
create mode 100644 tests/qemu-iotests/274.out
[PATCH v5 0/9] block: Fix resize (extending) of short overlays
Posted by Kevin Wolf 4 years ago
v5:
- Fixed file-win32 [Patchew]
- Fixed zeroing in qcow2 for unaligned requests + tests [Vladimir]
- Made raw-format code more consistent [Eric]
- Leave output for existing iotests cases unchanged [Vladimir]

v4:
- Rewrote the series to move the actual zeroing to the block drivers so
  that error paths can work correctly and potentially long-running
  fallback to writing explicit zeroes is avoided.
- Fixed output filtering order in the test case [Max]

v3:
- Don't allow blocking the monitor for a zero write in block_resize
  (even though we can already blockfor other reasons there). This is
  mainly responsible for the increased complexity compared to v2.
  Personally, I think this is not an improvement over v2, but if this is
  what it takes to fix a corruption issue in 4.2... [Max]
- Don't use huge image files in the test case [Vladimir]

v2:
- Switched order of bs->total_sectors update and zero write [Vladimir]
- Fixed coding style [Vladimir]
- Changed the commit message to contain what was in the cover letter
- Test all preallocation modes
- Test allocation status with qemu-io 'map' [Vladimir]

Kevin Wolf (9):
  block: Add flags to BlockDriver.bdrv_co_truncate()
  block: Add flags to bdrv(_co)_truncate()
  block-backend: Add flags to blk_truncate()
  qcow2: Support BDRV_REQ_ZERO_WRITE for truncate
  raw-format: Support BDRV_REQ_ZERO_WRITE for truncate
  file-posix: Support BDRV_REQ_ZERO_WRITE for truncate
  block: truncate: Don't make backing file data visible
  iotests: Filter testfiles out in filter_img_info()
  iotests: Test committing to short backing file

 include/block/block.h          |   5 +-
 include/block/block_int.h      |  10 +-
 include/sysemu/block-backend.h |   2 +-
 block.c                        |   3 +-
 block/block-backend.c          |   4 +-
 block/commit.c                 |   4 +-
 block/crypto.c                 |   7 +-
 block/file-posix.c             |   6 +-
 block/file-win32.c             |   2 +-
 block/gluster.c                |   1 +
 block/io.c                     |  32 +++-
 block/iscsi.c                  |   2 +-
 block/mirror.c                 |   2 +-
 block/nfs.c                    |   3 +-
 block/parallels.c              |   6 +-
 block/qcow.c                   |   4 +-
 block/qcow2-refcount.c         |   2 +-
 block/qcow2.c                  |  51 +++++--
 block/qed.c                    |   3 +-
 block/raw-format.c             |   6 +-
 block/rbd.c                    |   1 +
 block/sheepdog.c               |   4 +-
 block/ssh.c                    |   2 +-
 block/vdi.c                    |   2 +-
 block/vhdx-log.c               |   2 +-
 block/vhdx.c                   |   6 +-
 block/vmdk.c                   |   8 +-
 block/vpc.c                    |   2 +-
 blockdev.c                     |   2 +-
 qemu-img.c                     |   2 +-
 qemu-io-cmds.c                 |   2 +-
 tests/test-block-iothread.c    |   9 +-
 tests/qemu-iotests/iotests.py  |   5 +-
 tests/qemu-iotests/274         | 157 ++++++++++++++++++++
 tests/qemu-iotests/274.out     | 260 +++++++++++++++++++++++++++++++++
 tests/qemu-iotests/group       |   1 +
 36 files changed, 558 insertions(+), 62 deletions(-)
 create mode 100755 tests/qemu-iotests/274
 create mode 100644 tests/qemu-iotests/274.out

-- 
2.25.3