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. Discussed in the e-mail thread with the message ID <1550762799-830661-1-git-send-email-andrey.shinkev...@virtuozzo.com>
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 | 39 +++++++++++++++++++++++---- block/stream.c | 69 +++++++++++++++++++++++------------------------ block/trace-events | 2 +- blockdev.c | 10 ++++++- include/block/block.h | 5 +++- include/block/block_int.h | 6 ++--- tests/qemu-iotests/245 | 4 +-- 7 files changed, 87 insertions(+), 48 deletions(-) -- 1.8.3.1