mbox series

[v13,00/10] Apply COR-filter to the block-stream permanently

Message ID 1606933861-297777-1-git-send-email-andrey.shinkevich@virtuozzo.com (mailing list archive)
Headers show
Series Apply COR-filter to the block-stream permanently | expand

Message

Andrey Shinkevich Dec. 2, 2020, 6:30 p.m. UTC
The previous version 12 was discussed in the email thread:
Message-Id: <1603390423-980205-1-git-send-email-andrey.shinkevich@virtuozzo.com>

v13:
  02: The bdrv_remove_node() was dropped.
  05: Three patches with fixes were merged into one.
  06: Minor changes based on Vladimir's suggestions.
  08: Three patches with fixes were merged into one.
  09: The search for format_name of backing file was added.
  10: The flag BLK_PERM_GRAPH_MOD was removed.

Andrey Shinkevich (10):
  copy-on-read: support preadv/pwritev_part functions
  block: add API function to insert a node
  copy-on-read: add filter drop function
  qapi: add filter-node-name to block-stream
  qapi: create BlockdevOptionsCor structure for COR driver
  iotests: add #310 to test bottom node in COR driver
  block: include supported_read_flags into BDS structure
  copy-on-read: skip non-guest reads if no copy needed
  stream: skip filters when writing backing file name to QCOW2 header
  block: apply COR-filter to block-stream jobs

 block.c                        |  25 +++++++
 block/copy-on-read.c           | 143 +++++++++++++++++++++++++++++++++++++----
 block/copy-on-read.h           |  32 +++++++++
 block/io.c                     |  12 +++-
 block/monitor/block-hmp-cmds.c |   4 +-
 block/stream.c                 | 120 +++++++++++++++++++++++-----------
 blockdev.c                     |  12 ++--
 include/block/block.h          |  10 ++-
 include/block/block_int.h      |  11 +++-
 qapi/block-core.json           |  27 +++++++-
 tests/qemu-iotests/030         |  51 ++-------------
 tests/qemu-iotests/030.out     |   4 +-
 tests/qemu-iotests/141.out     |   2 +-
 tests/qemu-iotests/245         |  22 +++++--
 tests/qemu-iotests/310         | 114 ++++++++++++++++++++++++++++++++
 tests/qemu-iotests/310.out     |  15 +++++
 tests/qemu-iotests/group       |   1 +
 17 files changed, 484 insertions(+), 121 deletions(-)
 create mode 100644 block/copy-on-read.h
 create mode 100755 tests/qemu-iotests/310
 create mode 100644 tests/qemu-iotests/310.out

Comments

Vladimir Sementsov-Ogievskiy Dec. 4, 2020, 9:36 p.m. UTC | #1
I still think we should keep dropped iotest by introducing "bottom" interface for stream job. And deprecate old interfaces.
Patch is better than arguing, so I decided to try it myself. Now I'm close to complete v14, so, will send it soon.

02.12.2020 21:30, Andrey Shinkevich wrote:
> The previous version 12 was discussed in the email thread:
> Message-Id: <1603390423-980205-1-git-send-email-andrey.shinkevich@virtuozzo.com>
> 
> v13:
>    02: The bdrv_remove_node() was dropped.
>    05: Three patches with fixes were merged into one.
>    06: Minor changes based on Vladimir's suggestions.
>    08: Three patches with fixes were merged into one.
>    09: The search for format_name of backing file was added.
>    10: The flag BLK_PERM_GRAPH_MOD was removed.
> 
> Andrey Shinkevich (10):
>    copy-on-read: support preadv/pwritev_part functions
>    block: add API function to insert a node
>    copy-on-read: add filter drop function
>    qapi: add filter-node-name to block-stream
>    qapi: create BlockdevOptionsCor structure for COR driver
>    iotests: add #310 to test bottom node in COR driver
>    block: include supported_read_flags into BDS structure
>    copy-on-read: skip non-guest reads if no copy needed
>    stream: skip filters when writing backing file name to QCOW2 header
>    block: apply COR-filter to block-stream jobs
> 
>   block.c                        |  25 +++++++
>   block/copy-on-read.c           | 143 +++++++++++++++++++++++++++++++++++++----
>   block/copy-on-read.h           |  32 +++++++++
>   block/io.c                     |  12 +++-
>   block/monitor/block-hmp-cmds.c |   4 +-
>   block/stream.c                 | 120 +++++++++++++++++++++++-----------
>   blockdev.c                     |  12 ++--
>   include/block/block.h          |  10 ++-
>   include/block/block_int.h      |  11 +++-
>   qapi/block-core.json           |  27 +++++++-
>   tests/qemu-iotests/030         |  51 ++-------------
>   tests/qemu-iotests/030.out     |   4 +-
>   tests/qemu-iotests/141.out     |   2 +-
>   tests/qemu-iotests/245         |  22 +++++--
>   tests/qemu-iotests/310         | 114 ++++++++++++++++++++++++++++++++
>   tests/qemu-iotests/310.out     |  15 +++++
>   tests/qemu-iotests/group       |   1 +
>   17 files changed, 484 insertions(+), 121 deletions(-)
>   create mode 100644 block/copy-on-read.h
>   create mode 100755 tests/qemu-iotests/310
>   create mode 100644 tests/qemu-iotests/310.out
>