mbox series

[0/3] block/stream: get rid of the base

Message ID 1553866154-257311-1-git-send-email-andrey.shinkevich@virtuozzo.com
Headers show
Series block/stream: get rid of the base | expand

Message

Andrey Shinkevich March 29, 2019, 1:29 p.m. UTC
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.shinkevich@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(-)