[PATCH v15 0/5] backup-top filter driver for backup

Vladimir Sementsov-Ogievskiy posted 5 patches 4 years, 6 months ago
Failed in applying to current master (apply log)
qapi/block-core.json       |   8 +-
block/backup-top.h         |  41 +++++
include/block/block-copy.h |  31 +++-
include/block/block_int.h  |   1 +
block/backup-top.c         | 276 +++++++++++++++++++++++++++++++++
block/backup.c             | 147 +++++-------------
block/block-copy.c         | 140 +++++++++--------
block/replication.c        |   2 +-
blockdev.c                 |   1 +
block/Makefile.objs        |   1 +
tests/qemu-iotests/056     |   8 +-
tests/qemu-iotests/141.out |   2 +-
tests/qemu-iotests/257     |   7 +-
tests/qemu-iotests/257.out | 306 ++++++++++++++++++-------------------
14 files changed, 628 insertions(+), 343 deletions(-)
create mode 100644 block/backup-top.h
create mode 100644 block/backup-top.c
[PATCH v15 0/5] backup-top filter driver for backup
Posted by Vladimir Sementsov-Ogievskiy 4 years, 6 months ago
Hi all!

These series introduce backup-top driver. It's a filter-node, which
do copy-before-write operation. Mirror uses filter-node for handling
guest writes, let's move to filter-node (from write-notifiers) for
backup too.

Preparation patches are queued in Max's block branch:

Based-on: https://github.com/XanClic/qemu.git block

v15: use BdrvChildren in block-copy
01-03: new
04-05: a lot of changes, such as
04:
    - add new parameters for creation
    - prepare bcs creation
    - add target child
    - refactor bdrv_backup_top_append
    - drop r-b
05:
    - move block-copy to use BdrvChildren
    - drop extra style fixing hunks
    - iotest 141 output changed

v14: Drop range locks, keep old good in-flight requests waiting

12: new patch
14: use old request-waiting scheme instead of range locks

Vladimir Sementsov-Ogievskiy (5):
  block/backup: move in-flight requests handling from backup to
    block-copy
  block/backup: move write_flags calculation inside backup_job_create
  block/block-copy: split block_copy_set_callbacks function
  block: introduce backup-top filter driver
  block/backup: use backup-top instead of write notifiers

 qapi/block-core.json       |   8 +-
 block/backup-top.h         |  41 +++++
 include/block/block-copy.h |  31 +++-
 include/block/block_int.h  |   1 +
 block/backup-top.c         | 276 +++++++++++++++++++++++++++++++++
 block/backup.c             | 147 +++++-------------
 block/block-copy.c         | 140 +++++++++--------
 block/replication.c        |   2 +-
 blockdev.c                 |   1 +
 block/Makefile.objs        |   1 +
 tests/qemu-iotests/056     |   8 +-
 tests/qemu-iotests/141.out |   2 +-
 tests/qemu-iotests/257     |   7 +-
 tests/qemu-iotests/257.out | 306 ++++++++++++++++++-------------------
 14 files changed, 628 insertions(+), 343 deletions(-)
 create mode 100644 block/backup-top.h
 create mode 100644 block/backup-top.c

-- 
2.21.0


Re: [PATCH v15 0/5] backup-top filter driver for backup
Posted by Max Reitz 4 years, 6 months ago
On 01.10.19 15:14, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
> 
> These series introduce backup-top driver. It's a filter-node, which
> do copy-before-write operation. Mirror uses filter-node for handling
> guest writes, let's move to filter-node (from write-notifiers) for
> backup too.
> 
> Preparation patches are queued in Max's block branch:
> 
> Based-on: https://github.com/XanClic/qemu.git block
> 
> v15: use BdrvChildren in block-copy
> 01-03: new
> 04-05: a lot of changes, such as
> 04:
>     - add new parameters for creation
>     - prepare bcs creation
>     - add target child
>     - refactor bdrv_backup_top_append
>     - drop r-b
> 05:
>     - move block-copy to use BdrvChildren
>     - drop extra style fixing hunks
>     - iotest 141 output changed
> 
> v14: Drop range locks, keep old good in-flight requests waiting
> 
> 12: new patch
> 14: use old request-waiting scheme instead of range locks
> 
> Vladimir Sementsov-Ogievskiy (5):
>   block/backup: move in-flight requests handling from backup to
>     block-copy
>   block/backup: move write_flags calculation inside backup_job_create
>   block/block-copy: split block_copy_set_callbacks function
>   block: introduce backup-top filter driver
>   block/backup: use backup-top instead of write notifiers
> 
>  qapi/block-core.json       |   8 +-
>  block/backup-top.h         |  41 +++++
>  include/block/block-copy.h |  31 +++-
>  include/block/block_int.h  |   1 +
>  block/backup-top.c         | 276 +++++++++++++++++++++++++++++++++
>  block/backup.c             | 147 +++++-------------
>  block/block-copy.c         | 140 +++++++++--------
>  block/replication.c        |   2 +-
>  blockdev.c                 |   1 +
>  block/Makefile.objs        |   1 +
>  tests/qemu-iotests/056     |   8 +-
>  tests/qemu-iotests/141.out |   2 +-
>  tests/qemu-iotests/257     |   7 +-
>  tests/qemu-iotests/257.out | 306 ++++++++++++++++++-------------------
>  14 files changed, 628 insertions(+), 343 deletions(-)
>  create mode 100644 block/backup-top.h
>  create mode 100644 block/backup-top.c

Thanks, applied to my block branch:

https://git.xanclic.moe/XanClic/qemu/commits/branch/block

Max

Re: [PATCH v15 0/5] backup-top filter driver for backup
Posted by Vladimir Sementsov-Ogievskiy 4 years, 6 months ago
04.10.2019 17:21, Max Reitz wrote:
> On 01.10.19 15:14, Vladimir Sementsov-Ogievskiy wrote:
>> Hi all!
>>
>> These series introduce backup-top driver. It's a filter-node, which
>> do copy-before-write operation. Mirror uses filter-node for handling
>> guest writes, let's move to filter-node (from write-notifiers) for
>> backup too.
>>
>> Preparation patches are queued in Max's block branch:
>>
>> Based-on: https://github.com/XanClic/qemu.git block
>>
>> v15: use BdrvChildren in block-copy
>> 01-03: new
>> 04-05: a lot of changes, such as
>> 04:
>>      - add new parameters for creation
>>      - prepare bcs creation
>>      - add target child
>>      - refactor bdrv_backup_top_append
>>      - drop r-b
>> 05:
>>      - move block-copy to use BdrvChildren
>>      - drop extra style fixing hunks
>>      - iotest 141 output changed
>>
>> v14: Drop range locks, keep old good in-flight requests waiting
>>
>> 12: new patch
>> 14: use old request-waiting scheme instead of range locks
>>
>> Vladimir Sementsov-Ogievskiy (5):
>>    block/backup: move in-flight requests handling from backup to
>>      block-copy
>>    block/backup: move write_flags calculation inside backup_job_create
>>    block/block-copy: split block_copy_set_callbacks function
>>    block: introduce backup-top filter driver
>>    block/backup: use backup-top instead of write notifiers
>>
>>   qapi/block-core.json       |   8 +-
>>   block/backup-top.h         |  41 +++++
>>   include/block/block-copy.h |  31 +++-
>>   include/block/block_int.h  |   1 +
>>   block/backup-top.c         | 276 +++++++++++++++++++++++++++++++++
>>   block/backup.c             | 147 +++++-------------
>>   block/block-copy.c         | 140 +++++++++--------
>>   block/replication.c        |   2 +-
>>   blockdev.c                 |   1 +
>>   block/Makefile.objs        |   1 +
>>   tests/qemu-iotests/056     |   8 +-
>>   tests/qemu-iotests/141.out |   2 +-
>>   tests/qemu-iotests/257     |   7 +-
>>   tests/qemu-iotests/257.out | 306 ++++++++++++++++++-------------------
>>   14 files changed, 628 insertions(+), 343 deletions(-)
>>   create mode 100644 block/backup-top.h
>>   create mode 100644 block/backup-top.c
> 
> Thanks, applied to my block branch:
> 
> https://git.xanclic.moe/XanClic/qemu/commits/branch/block
> 
> Max
> 

Yay!! Thank you!

-- 
Best regards,
Vladimir