mbox series

[v8,0/7] backup-top filter driver for backup

Message ID 20190529154654.95870-1-vsementsov@virtuozzo.com (mailing list archive)
Headers show
Series backup-top filter driver for backup | expand

Message

Vladimir Sementsov-Ogievskiy May 29, 2019, 3:46 p.m. UTC
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

v8:
01-03: new
05: add Max's r-b
others changed, change description in each patch mail in Notes section.

v6-v7 was preparing refactoring, which now is in Max's pull request, and
these series based on it:
Based-on: https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg06526.html

Vladimir Sementsov-Ogievskiy (7):
  block: teach bdrv_debug_breakpoint skip filters with backing
  block: swap operation order in bdrv_append
  block: allow not one child for implicit node
  block: introduce backup-top filter driver
  block/io: refactor wait_serialising_requests
  block: add lock/unlock range functions
  block/backup: use backup-top instead of write notifiers

 block/backup-top.h         |  64 ++++++++
 include/block/block_int.h  |   4 +
 block.c                    |  60 +++++--
 block/backup-top.c         | 322 +++++++++++++++++++++++++++++++++++++
 block/backup.c             | 171 ++++++++------------
 block/io.c                 |  68 ++++++--
 block/Makefile.objs        |   2 +
 tests/qemu-iotests/056     |   2 +-
 tests/qemu-iotests/085.out |   2 +-
 tests/qemu-iotests/129     |   1 -
 tests/qemu-iotests/141.out |   2 +-
 11 files changed, 567 insertions(+), 131 deletions(-)
 create mode 100644 block/backup-top.h
 create mode 100644 block/backup-top.c

Comments

Vladimir Sementsov-Ogievskiy May 30, 2019, 1:25 p.m. UTC | #1
29.05.2019 18:46, 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
> 
> v8:
> 01-03: new
> 05: add Max's r-b
> others changed, change description in each patch mail in Notes section.
> 
> v6-v7 was preparing refactoring, which now is in Max's pull request, and
> these series based on it:
> Based-on: https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg06526.html

It merged, so, now the series based on master.

> 
> Vladimir Sementsov-Ogievskiy (7):
>    block: teach bdrv_debug_breakpoint skip filters with backing
>    block: swap operation order in bdrv_append
>    block: allow not one child for implicit node
>    block: introduce backup-top filter driver
>    block/io: refactor wait_serialising_requests
>    block: add lock/unlock range functions
>    block/backup: use backup-top instead of write notifiers
> 
>   block/backup-top.h         |  64 ++++++++
>   include/block/block_int.h  |   4 +
>   block.c                    |  60 +++++--
>   block/backup-top.c         | 322 +++++++++++++++++++++++++++++++++++++
>   block/backup.c             | 171 ++++++++------------
>   block/io.c                 |  68 ++++++--
>   block/Makefile.objs        |   2 +
>   tests/qemu-iotests/056     |   2 +-
>   tests/qemu-iotests/085.out |   2 +-
>   tests/qemu-iotests/129     |   1 -
>   tests/qemu-iotests/141.out |   2 +-
>   11 files changed, 567 insertions(+), 131 deletions(-)
>   create mode 100644 block/backup-top.h
>   create mode 100644 block/backup-top.c
>
no-reply@patchew.org June 13, 2019, 4:08 p.m. UTC | #2
Patchew URL: https://patchew.org/QEMU/20190529154654.95870-1-vsementsov@virtuozzo.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

  CC      crypto/cipher.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
/tmp/qemu-test/src/block/backup-top.c:268:5: error: implicit declaration of function 'bdrv_set_aio_context' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    bdrv_set_aio_context(top, bdrv_get_aio_context(source));
    ^
/tmp/qemu-test/src/block/backup-top.c:268:5: note: did you mean 'bdrv_get_aio_context'?
/tmp/qemu-test/src/include/block/block.h:579:13: note: 'bdrv_get_aio_context' declared here
AioContext *bdrv_get_aio_context(BlockDriverState *bs);
            ^
/tmp/qemu-test/src/block/backup-top.c:268:5: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
    bdrv_set_aio_context(top, bdrv_get_aio_context(source));
    ^
2 errors generated.


The full log is available at
http://patchew.org/logs/20190529154654.95870-1-vsementsov@virtuozzo.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
no-reply@patchew.org June 13, 2019, 4:41 p.m. UTC | #3
Patchew URL: https://patchew.org/QEMU/20190529154654.95870-1-vsementsov@virtuozzo.com/



Hi,

This series failed build test on s390x host. Please find the details below.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=$PWD/build
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install

echo
echo "=== ENV ==="
env

echo
echo "=== PACKAGES ==="
rpm -qa
=== TEST SCRIPT END ===

  CC      block/replication.o
  CC      block/throttle.o
/var/tmp/patchew-tester-tmp-eg3dw7w5/src/block/backup.c: In function ‘backup_run’:
/var/tmp/patchew-tester-tmp-eg3dw7w5/src/block/backup.c:283:8: error: ‘error_is_read’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  283 |     if (read) {
      |        ^
/var/tmp/patchew-tester-tmp-eg3dw7w5/src/block/backup.c:332:10: note: ‘error_is_read’ was declared here


The full log is available at
http://patchew.org/logs/20190529154654.95870-1-vsementsov@virtuozzo.com/testing.s390x/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com