[Qemu-devel] [PATCH v12 00/31] block: Fix some filename generation issues

Max Reitz posted 31 patches 5 years, 4 months ago
Test checkpatch passed
Test asan passed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test docker-clang@ubuntu passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20181217224348.14922-1-mreitz@redhat.com
include/block/block.h         |  16 +-
include/block/block_int.h     |  48 +++-
block.c                       | 503 ++++++++++++++++++++++------------
block/blkdebug.c              |  70 ++---
block/blklogwrites.c          |  34 +--
block/blkverify.c             |  29 +-
block/commit.c                |   3 +-
block/crypto.c                |   8 +
block/curl.c                  |  55 +++-
block/gluster.c               |  19 ++
block/iscsi.c                 |  18 ++
block/mirror.c                |   3 +-
block/nbd.c                   |  46 ++--
block/nfs.c                   |  54 ++--
block/null.c                  |  32 ++-
block/nvme.c                  |  27 +-
block/qapi.c                  |  16 +-
block/qcow.c                  |  14 +-
block/qcow2.c                 |  17 +-
block/qed.c                   |   7 +-
block/quorum.c                |  71 +++--
block/raw-format.c            |  11 +-
block/rbd.c                   |  14 +
block/replication.c           |  10 +-
block/sheepdog.c              |  12 +
block/ssh.c                   |  12 +
block/throttle.c              |   7 +
block/vhdx-log.c              |   1 +
block/vmdk.c                  |  43 ++-
block/vpc.c                   |   7 +
block/vvfat.c                 |  12 +
block/vxhs.c                  |  11 +
blockdev.c                    |   8 +
qemu-img.c                    |  23 +-
tests/qemu-iotests/051.out    |   8 +-
tests/qemu-iotests/051.pc.out |   8 +-
tests/qemu-iotests/110        |  29 +-
tests/qemu-iotests/110.out    |   9 +-
tests/qemu-iotests/224        | 139 ++++++++++
tests/qemu-iotests/224.out    |  18 ++
tests/qemu-iotests/228        | 235 ++++++++++++++++
tests/qemu-iotests/228.out    |  84 ++++++
tests/qemu-iotests/group      |   2 +
tests/qemu-iotests/iotests.py |  10 +
44 files changed, 1398 insertions(+), 405 deletions(-)
create mode 100755 tests/qemu-iotests/224
create mode 100644 tests/qemu-iotests/224.out
create mode 100755 tests/qemu-iotests/228
create mode 100644 tests/qemu-iotests/228.out
[Qemu-devel] [PATCH v12 00/31] block: Fix some filename generation issues
Posted by Max Reitz 5 years, 4 months ago
Once more, I’ll spare both me and you another iteration of the cover
letter, so I direct you to the previous version’s cover letter (which
will direct you further):

http://lists.nongnu.org/archive/html/qemu-block/2018-10/msg00229.html

There are only minor changes in this version.  Provided no major
complaints arise, I intend to merge this series in the next month.


git-backport-diff against v11:

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/31:[0015] [FC] 'block: Use bdrv_refresh_filename() to pull'
002/31:[----] [--] 'block: Use children list in bdrv_refresh_filename'
003/31:[----] [--] 'block: Skip implicit nodes for filename info'
004/31:[----] [--] 'block: Add BDS.auto_backing_file'
005/31:[----] [--] 'block: Respect backing bs in bdrv_refresh_filename'
006/31:[----] [--] 'iotests.py: Add filter_imgfmt()'
007/31:[----] [--] 'iotests.py: Add node_info()'
008/31:[0072] [FC] 'iotests: Add test for backing file overrides'
009/31:[----] [--] 'block: Make path_combine() return the path'
010/31:[----] [-C] 'block: bdrv_get_full_backing_filename_from_...'s ret. val.'
011/31:[----] [--] 'block: bdrv_get_full_backing_filename's ret. val.'
012/31:[----] [--] 'block: Add bdrv_make_absolute_filename()'
013/31:[----] [--] 'block: Fix bdrv_find_backing_image()'
014/31:[----] [--] 'block: Add bdrv_dirname()'
015/31:[----] [--] 'blkverify: Make bdrv_dirname() return NULL'
016/31:[----] [--] 'quorum: Make bdrv_dirname() return NULL'
017/31:[----] [--] 'block/nbd: Make bdrv_dirname() return NULL'
018/31:[----] [--] 'block/nfs: Implement bdrv_dirname()'
019/31:[----] [--] 'block: Use bdrv_dirname() for relative filenames'
020/31:[----] [--] 'iotests: Add quorum case to test 110'
021/31:[----] [--] 'block: Add strong_runtime_opts to BlockDriver'
022/31:[----] [--] 'block: Add BlockDriver.bdrv_gather_child_options'
023/31:[----] [--] 'block: Generically refresh runtime options'
024/31:[----] [--] 'block: Purify .bdrv_refresh_filename()'
025/31:[----] [--] 'block: Do not copy exact_filename from format file'
026/31:[----] [--] 'block/nvme: Fix bdrv_refresh_filename()'
027/31:[----] [--] 'block/curl: Harmonize option defaults'
028/31:[----] [--] 'block/curl: Implement bdrv_refresh_filename()'
029/31:[----] [--] 'block/null: Generate filename even with latency-ns'
030/31:[----] [--] 'block: BDS options may lack the "driver" option'
031/31:[0024] [FC] 'iotests: Test json:{} filenames of internal BDSs'


v12:
- Patch 1:
  - Due to rebase, one hunk was dropped (vpc has one instance of
    "bs->filename" less)
  - I grepped through everything ("->filename") again and noticed I did
    not refresh the filename before qemu-img.c's accesses to
    bs->filename.  Now it probably isn't necessary to do this (because
    we don't use complex graph features there, and even more so no graph
    modifications can occur at runtime), but then again I believe it
    doesn't hurt to refresh the filename even here.
    So there are four additional hunks in qemu-img.c now.
- Patches 8 and 31:
  Had to adjust the reference output due to the Python2/3 compatibility
  patches (kept the R-b, because the changes are obvious, I believe)


Max Reitz (31):
  block: Use bdrv_refresh_filename() to pull
  block: Use children list in bdrv_refresh_filename
  block: Skip implicit nodes for filename info
  block: Add BDS.auto_backing_file
  block: Respect backing bs in bdrv_refresh_filename
  iotests.py: Add filter_imgfmt()
  iotests.py: Add node_info()
  iotests: Add test for backing file overrides
  block: Make path_combine() return the path
  block: bdrv_get_full_backing_filename_from_...'s ret. val.
  block: bdrv_get_full_backing_filename's ret. val.
  block: Add bdrv_make_absolute_filename()
  block: Fix bdrv_find_backing_image()
  block: Add bdrv_dirname()
  blkverify: Make bdrv_dirname() return NULL
  quorum: Make bdrv_dirname() return NULL
  block/nbd: Make bdrv_dirname() return NULL
  block/nfs: Implement bdrv_dirname()
  block: Use bdrv_dirname() for relative filenames
  iotests: Add quorum case to test 110
  block: Add strong_runtime_opts to BlockDriver
  block: Add BlockDriver.bdrv_gather_child_options
  block: Generically refresh runtime options
  block: Purify .bdrv_refresh_filename()
  block: Do not copy exact_filename from format file
  block/nvme: Fix bdrv_refresh_filename()
  block/curl: Harmonize option defaults
  block/curl: Implement bdrv_refresh_filename()
  block/null: Generate filename even with latency-ns
  block: BDS options may lack the "driver" option
  iotests: Test json:{} filenames of internal BDSs

 include/block/block.h         |  16 +-
 include/block/block_int.h     |  48 +++-
 block.c                       | 503 ++++++++++++++++++++++------------
 block/blkdebug.c              |  70 ++---
 block/blklogwrites.c          |  34 +--
 block/blkverify.c             |  29 +-
 block/commit.c                |   3 +-
 block/crypto.c                |   8 +
 block/curl.c                  |  55 +++-
 block/gluster.c               |  19 ++
 block/iscsi.c                 |  18 ++
 block/mirror.c                |   3 +-
 block/nbd.c                   |  46 ++--
 block/nfs.c                   |  54 ++--
 block/null.c                  |  32 ++-
 block/nvme.c                  |  27 +-
 block/qapi.c                  |  16 +-
 block/qcow.c                  |  14 +-
 block/qcow2.c                 |  17 +-
 block/qed.c                   |   7 +-
 block/quorum.c                |  71 +++--
 block/raw-format.c            |  11 +-
 block/rbd.c                   |  14 +
 block/replication.c           |  10 +-
 block/sheepdog.c              |  12 +
 block/ssh.c                   |  12 +
 block/throttle.c              |   7 +
 block/vhdx-log.c              |   1 +
 block/vmdk.c                  |  43 ++-
 block/vpc.c                   |   7 +
 block/vvfat.c                 |  12 +
 block/vxhs.c                  |  11 +
 blockdev.c                    |   8 +
 qemu-img.c                    |  23 +-
 tests/qemu-iotests/051.out    |   8 +-
 tests/qemu-iotests/051.pc.out |   8 +-
 tests/qemu-iotests/110        |  29 +-
 tests/qemu-iotests/110.out    |   9 +-
 tests/qemu-iotests/224        | 139 ++++++++++
 tests/qemu-iotests/224.out    |  18 ++
 tests/qemu-iotests/228        | 235 ++++++++++++++++
 tests/qemu-iotests/228.out    |  84 ++++++
 tests/qemu-iotests/group      |   2 +
 tests/qemu-iotests/iotests.py |  10 +
 44 files changed, 1398 insertions(+), 405 deletions(-)
 create mode 100755 tests/qemu-iotests/224
 create mode 100644 tests/qemu-iotests/224.out
 create mode 100755 tests/qemu-iotests/228
 create mode 100644 tests/qemu-iotests/228.out

-- 
2.19.2


Re: [Qemu-devel] [Qemu-block] [PATCH v12 00/31] block: Fix some filename generation issues
Posted by John Snow 5 years, 2 months ago

On 12/17/18 5:43 PM, Max Reitz wrote:
> Once more, I’ll spare both me and you another iteration of the cover
> letter, so I direct you to the previous version’s cover letter (which
> will direct you further):
> 
> http://lists.nongnu.org/archive/html/qemu-block/2018-10/msg00229.html
> 
> There are only minor changes in this version.  Provided no major
> complaints arise, I intend to merge this series in the next month.
> 

It looked like this got a full set of reviews by Berto, should we not
just merge it and see who cries?

Would you like additional eyes on it?

Re: [Qemu-devel] [Qemu-block] [PATCH v12 00/31] block: Fix some filename generation issues
Posted by Max Reitz 5 years, 2 months ago
On 29.01.19 21:51, John Snow wrote:
> 
> 
> On 12/17/18 5:43 PM, Max Reitz wrote:
>> Once more, I’ll spare both me and you another iteration of the cover
>> letter, so I direct you to the previous version’s cover letter (which
>> will direct you further):
>>
>> http://lists.nongnu.org/archive/html/qemu-block/2018-10/msg00229.html
>>
>> There are only minor changes in this version.  Provided no major
>> complaints arise, I intend to merge this series in the next month.
>>
> 
> It looked like this got a full set of reviews by Berto, should we not
> just merge it and see who cries?
> 
> Would you like additional eyes on it?

I was about to rebase it (and send it again with a shorter "I will merge
this" period), but then I found that a non-non-significant number of
iotests failed, so I wanted to fix those first.

Max