On Wed, Feb 16, 2022 at 11:53:52AM +0100, Hanna Reitz wrote: > Hi, > > v1 with detailed reasoning: > https://lists.nongnu.org/archive/html/qemu-block/2022-02/msg00508.html > > This series makes bdrv_refresh_limits() non-recursive so that it is > sufficient for callers to ensure that the node on which they call it > will not receive concurrent I/O requests (instead of ensuring the same > for the whole subtree). > > We need to ensure such I/O does not happen because bdrv_refresh_limits() > is not atomic and will produce intermediate invalid values, which will > break concurrent I/O requests that read these values. > > > v2: > - Use separate `try` block to clean up in patch 2 instead of putting the > `os.remove()` in the existing one (which would cause the second > `os.remove()` to be skipped if the first one failed) > > > git-backport-diff against v1: > > 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/3:[----] [--] 'block: Make bdrv_refresh_limits() non-recursive' > 002/3:[0005] [FC] 'iotests: Allow using QMP with the QSD' > 003/3:[----] [--] 'iotests/graph-changes-while-io: New test' > > > Hanna Reitz (3): > block: Make bdrv_refresh_limits() non-recursive > iotests: Allow using QMP with the QSD > iotests/graph-changes-while-io: New test > > block/io.c | 4 - > tests/qemu-iotests/iotests.py | 32 ++++++- > .../qemu-iotests/tests/graph-changes-while-io | 91 +++++++++++++++++++ > .../tests/graph-changes-while-io.out | 5 + > 4 files changed, 127 insertions(+), 5 deletions(-) > create mode 100755 tests/qemu-iotests/tests/graph-changes-while-io > create mode 100644 tests/qemu-iotests/tests/graph-changes-while-io.out > > -- > 2.34.1 >
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
signature.asc
Description: PGP signature