[PATCH v11 00/13] Apply COR-filter to the block-stream permanently

Andrey Shinkevich via posted 13 patches 1 week ago
Failed in applying to current master (apply log)
block/copy-on-read.c           | 171 ++++++++++++++++++++++++++++++++++++++---
block/copy-on-read.h           |  35 +++++++++
block/io.c                     |   3 +-
block/monitor/block-hmp-cmds.c |   4 +-
block/stream.c                 | 112 ++++++++++++++++-----------
blockdev.c                     |  25 +++---
docs/system/deprecated.rst     |   6 ++
include/block/block.h          |   7 +-
include/block/block_int.h      |  13 +++-
qapi/block-core.json           |   6 ++
tests/qemu-iotests/030         |  51 ++----------
tests/qemu-iotests/030.out     |   4 +-
tests/qemu-iotests/141.out     |   2 +-
tests/qemu-iotests/245         |  19 +++--
14 files changed, 324 insertions(+), 134 deletions(-)
create mode 100644 block/copy-on-read.h

[PATCH v11 00/13] Apply COR-filter to the block-stream permanently

Posted by Andrey Shinkevich via 1 week ago
The iotest case test_stream_parallel still does not pass after the
COR-filter is inserted into the backing chain. As the test case may not
be initialized, it does not make a sense and was removed again.

v11:
  04: Base node overlay is used instead of base.
  05: Base node overlay is used instead of base.
  06: New.
  07: New.
  08: New.
  09: The new BDS-member 'supported_read_flags' is applied.
  10: The 'base_metadata' variable renamed to 'base_unfiltered'.
  11: New.
  12: The backing-file argument is left in the QMP interface. Warning added.
  13: The BDRV_REQ_COPY_ON_READ removed from the stream_populate();
      The 'implicit' initialization moved back to COR-filter driver.
      Base node overlay is used instead of base.

The v8 Message-Id:
<1601383109-110988-1-git-send-email-andrey.shinkevich@virtuozzo.com>

Andrey Shinkevich (13):
  copy-on-read: Support preadv/pwritev_part functions
  copy-on-read: add filter append/drop functions
  qapi: add filter-node-name to block-stream
  copy-on-read: pass overlay base node name to COR driver
  copy-on-read: limit COR operations to base in COR driver
  block: modify the comment for BDRV_REQ_PREFETCH flag
  block: include supported_read_flags into BDS structure
  copy-on-read: add support for BDRV_REQ_PREFETCH to COR-filter
  copy-on-read: skip non-guest reads if no copy needed
  stream: skip filters when writing backing file name to QCOW2 header
  stream: mark backing-file argument as deprecated
  stream: remove unused backing-file name parameter
  block: apply COR-filter to block-stream jobs

 block/copy-on-read.c           | 171 ++++++++++++++++++++++++++++++++++++++---
 block/copy-on-read.h           |  35 +++++++++
 block/io.c                     |   3 +-
 block/monitor/block-hmp-cmds.c |   4 +-
 block/stream.c                 | 112 ++++++++++++++++-----------
 blockdev.c                     |  25 +++---
 docs/system/deprecated.rst     |   6 ++
 include/block/block.h          |   7 +-
 include/block/block_int.h      |  13 +++-
 qapi/block-core.json           |   6 ++
 tests/qemu-iotests/030         |  51 ++----------
 tests/qemu-iotests/030.out     |   4 +-
 tests/qemu-iotests/141.out     |   2 +-
 tests/qemu-iotests/245         |  19 +++--
 14 files changed, 324 insertions(+), 134 deletions(-)
 create mode 100644 block/copy-on-read.h

-- 
1.8.3.1