mbox series

[v9,0/9] Apply COR-filter to the block-stream permanently

Message ID 1601298001-774096-1-git-send-email-andrey.shinkevich@virtuozzo.com
Headers show
Series Apply COR-filter to the block-stream permanently | expand

Message

Zhijian Li (Fujitsu)" via Sept. 28, 2020, 12:59 p.m. UTC
Despite the patch "freeze link to base node..." has been removed from the
series in the current version 9, the iotest case test_stream_parallel 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.
The check with bdrv_is_allocated_above() takes place in the COR-filter and
in the block-stream job both. An optimization of the block-stream job based
on the filter functionality may be made in a separate series.

v9:
  02: Refactored.
  04: Base node name is used instead of the file name.
  05: New implementation based on Max' review.
  06: New.
  07: New. The patch "freeze link to base node..." was deleted.
  08: New.
  09: The filter node options are initialized.

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

Andrey Shinkevich (9):
  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 base node name to COR driver
  copy-on-read: limit guest COR activity to base in COR driver
  copy-on-read: skip non-guest reads if no copy needed
  stream: skip filters when writing backing file name to QCOW2 header
  block: remove unused parameter backing-file name
  block: apply COR-filter to block-stream jobs

 block/copy-on-read.c           | 165 ++++++++++++++++++++++++++++++++++++++---
 block/io.c                     |   2 +-
 block/monitor/block-hmp-cmds.c |   6 +-
 block/stream.c                 | 112 +++++++++++++++++-----------
 blockdev.c                     |  21 +-----
 include/block/block_int.h      |   9 ++-
 qapi/block-core.json           |  23 ++----
 tests/qemu-iotests/030         |  51 ++-----------
 tests/qemu-iotests/030.out     |   4 +-
 tests/qemu-iotests/141.out     |   2 +-
 tests/qemu-iotests/245         |  19 +++--
 11 files changed, 267 insertions(+), 147 deletions(-)

Comments

no-reply@patchew.org Sept. 28, 2020, 8:33 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/1601298001-774096-1-git-send-email-andrey.shinkevich@virtuozzo.com/



Hi,

This series failed the docker-mingw@fedora 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
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-mingw@fedora J=14 NETWORK=1
=== TEST SCRIPT END ===

Host machine cpu: x86_64
Target machine cpu family: x86
Target machine cpu: x86_64
../src/meson.build:10: WARNING: Module unstable-keyval has no backwards or forwards compatibility and might not exist in future releases.
Program sh found: YES
Program python3 found: YES (/usr/bin/python3)
Configuring ninjatool using configuration
---
Compiling C object libblock.fa.p/block_bochs.c.obj
Compiling C object libblock.fa.p/block_filter-compress.c.obj
Compiling C object libblock.fa.p/block_qcow2.c.obj
../src/block/copy-on-read.c:29:10: fatal error: block/copy-on-read.h: No such file or directory
   29 | #include "block/copy-on-read.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile.ninja:887: libblock.fa.p/block_copy-on-read.c.obj] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 709, in <module>
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--rm', '--label', 'com.qemu.instance.uuid=026d51a22d8649ff831a9ab8a97ffff0', '-u', '1003', '--security-opt', 'seccomp=unconfined', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-_5yio3yh/src/docker-src.2020-09-28-16.28.55.8469:/var/tmp/qemu:z,ro', 'qemu/fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=026d51a22d8649ff831a9ab8a97ffff0
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-_5yio3yh/src'
make: *** [docker-run-test-mingw@fedora] Error 2

real    4m33.430s
user    0m18.970s


The full log is available at
http://patchew.org/logs/1601298001-774096-1-git-send-email-andrey.shinkevich@virtuozzo.com/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
no-reply@patchew.org Sept. 28, 2020, 8:37 p.m. UTC | #2
Patchew URL: https://patchew.org/QEMU/1601298001-774096-1-git-send-email-andrey.shinkevich@virtuozzo.com/



Hi,

This series failed the docker-quick@centos7 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
make docker-image-centos7 V=1 NETWORK=1
time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===

C linker for the host machine: cc ld.bfd 2.27-43
Host machine cpu family: x86_64
Host machine cpu: x86_64
../src/meson.build:10: WARNING: Module unstable-keyval has no backwards or forwards compatibility and might not exist in future releases.
Program sh found: YES
Program python3 found: YES (/usr/bin/python3)
Configuring ninjatool using configuration
---
Compiling C object libblock.fa.p/block_dmg-bz2.c.o
Compiling C object libblock.fa.p/block_amend.c.o
Compiling C object libblock.fa.p/block_qcow2-snapshot.c.o
../src/block/copy-on-read.c:29:32: fatal error: block/copy-on-read.h: No such file or directory
 #include "block/copy-on-read.h"
                                ^
compilation terminated.
---
Compiling C object libblock.fa.p/block_throttle-groups.c.o
Compiling C object libblock.fa.p/block_accounting.c.o
Compiling C object libblock.fa.p/block_nbd.c.o
make: *** [libblock.fa.p/block_copy-on-read.c.o] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 709, in <module>
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--rm', '--label', 'com.qemu.instance.uuid=b2dcb88c84fa430991604513a90c8435', '-u', '1003', '--security-opt', 'seccomp=unconfined', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-8zvp7iz2/src/docker-src.2020-09-28-16.33.58.15775:/var/tmp/qemu:z,ro', 'qemu/centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=b2dcb88c84fa430991604513a90c8435
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-8zvp7iz2/src'
make: *** [docker-run-test-quick@centos7] Error 2

real    3m24.503s
user    0m18.816s


The full log is available at
http://patchew.org/logs/1601298001-774096-1-git-send-email-andrey.shinkevich@virtuozzo.com/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com