Message ID | 1559152576-281803-1-git-send-email-andrey.shinkevich@virtuozzo.com (mailing list archive) |
---|---|
Headers | show |
Series | block/stream: get rid of the base | expand |
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 <mreitz@redhat.com> Just needs some simple changes to patch 1 to rebase it on 863cc78f1b3 and c8bb23cbdbe. Max
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 <mreitz@redhat.com> > > 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? Andrey
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 <mreitz@redhat.com> >> >> 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
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 <mreitz@redhat.com> >>> >>> 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