On 25/06/2019 18:03, Max Reitz wrote: > On 25.06.19 16:40, Andrey Shinkevich wrote: >> >> >> On 19/06/2019 22:29, Max Reitz wrote: >>> On 29.05.19 19:56, Andrey Shinkevich wrote: >>>> This series introduces a bottom intermediate node that eliminates the >>>> dependency on the base that may change while stream job is running. >>>> It happens when stream/commit parallel jobs are running on the same >>>> backing chain. The base node of the stream job may be a top node of >>>> the parallel commit job and can change before the stream job is >>>> completed. We avoid that dependency by introducing the bottom node. >>>> >>>> v7: [resend by Andrey] >>>> 01: assert(intermediate) was inserted before the call to >>>> bdrv_is_allocated() in the intermediate node loop of the >>>> bdrv_is_allocated_above() as suggested by Max. >>>> 02: The change of the intermediate node loop in the stream_start() was >>>> rolled back to its original design and the reassignment of the base >>>> node pointer was added as Vladimir and Max suggested. The relevant >>>> comment was amended. >>>> >>>> v6: [resend by Vladimir] >>>> 01: improve comment in block/io.c, suggested by Alberto >>>> >>>> v5: [resend by Vladimir] >>>> 01: use comment wording in block/io.c suggested by Alberto >>>> >>>> v4: >>>> trace_stream_start reverted to the base. >>>> bdrv_is_allocated_above_inclusive() deleted and the new parameter >>>> 'bool include_base' was added to the bdrv_is_allocated_above(). >>>> >>>> Andrey Shinkevich (3): >>>> block: include base when checking image chain for block allocation >>>> block/stream: refactor stream_run: drop goto >>>> block/stream: introduce a bottom node >>>> >>>> block/commit.c | 2 +- >>>> block/io.c | 21 +++++++++++++------ >>>> block/mirror.c | 2 +- >>>> block/replication.c | 2 +- >>>> block/stream.c | 56 >>>> ++++++++++++++++++++++++-------------------------- >>>> include/block/block.h | 3 ++- >>>> tests/qemu-iotests/245 | 4 ++-- >>>> 7 files changed, 49 insertions(+), 41 deletions(-) >>> >>> Reviewed-by: Max Reitz <[email protected]> >>> >>> Just needs some simple changes to patch 1 to rebase it on 863cc78f1b3 >>> and c8bb23cbdbe. >>> >>> Max >>> >> >> Please let us know who would take this series for pull request? > > Nothing, I was just waiting for my current pull request (lingering from > last week due to a build failure because of one of the patches) to be > processed. > > I suppose I won’t wait longer and just take this series now and deal > with the fallout later if there’s something else in my last week’s pull > request that needs fixing... > > So: Thanks, applied to my block branch: > > https://git.xanclic.moe/XanClic/qemu/commits/branch/block > > Max >
Thanks a lot, Max. Andrey -- With the best regards, Andrey Shinkevich
