[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v3 0/3] block/stream: get rid of the base
From: |
Andrey Shinkevich |
Subject: |
[Qemu-block] [PATCH v3 0/3] block/stream: get rid of the base |
Date: |
Fri, 5 Apr 2019 19:56:16 +0300 |
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.
v3:
bottom = bdrv_find_overlay() moved into the stream_start()
v2:
The function bdrv_find_overlay() with the same functionality has been
used in the qmp_block_stream() to find a bottom node.
The algorithm in the bdrv_do_is_allocated_above() was simplified.
The commit messages were modified.
Discussed in the e-mail threads with the message IDs
<address@hidden>
<address@hidden>
<address@hidden>
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/io.c | 33 ++++++++++++++++++++----
block/stream.c | 69 +++++++++++++++++++++++++-------------------------
block/trace-events | 2 +-
include/block/block.h | 4 +++
tests/qemu-iotests/245 | 4 +--
5 files changed, 69 insertions(+), 43 deletions(-)
--
1.8.3.1