include/block/block.h | 6 +- include/block/block_int.h | 2 +- block/qcow2.h | 18 ++++ block/blkdebug.c | 3 +- block/file-posix.c | 9 +- block/io.c | 47 +++++++-- block/qcow2-cluster.c | 14 ++- block/qcow2-refcount.c | 7 ++ block/qcow2.c | 201 +++++++++++++++++++++++++++++++++---- block/raw-format.c | 3 +- block/trace-events | 2 + qemu-options.hx | 4 + tests/qemu-iotests/026.out | 104 ++++++++++++++----- tests/qemu-iotests/026.out.nocache | 104 ++++++++++++++----- tests/qemu-iotests/029.out | 5 +- tests/qemu-iotests/060 | 2 +- tests/qemu-iotests/060.out | 13 ++- tests/qemu-iotests/061.out | 5 +- tests/qemu-iotests/066 | 2 +- tests/qemu-iotests/066.out | 9 +- tests/qemu-iotests/098.out | 7 +- tests/qemu-iotests/108.out | 5 +- tests/qemu-iotests/112.out | 5 +- tests/qemu-iotests/134 | 9 ++ tests/qemu-iotests/134.out | 10 ++ tests/qemu-iotests/190 | 146 +++++++++++++++++++++++++++ tests/qemu-iotests/190.out | 50 +++++++++ tests/qemu-iotests/group | 1 + 28 files changed, 693 insertions(+), 100 deletions(-) create mode 100755 tests/qemu-iotests/190 create mode 100644 tests/qemu-iotests/190.out
Here goes a revisited series on qcow2 preallocation. It's probably a bit better
integrated this time and the amount of code is reduced significantly.
Changes in v3:
- requests intersection detection from the previous versions is removed
from qcow2 driver. Instead, tracked request infrastructure from the common
block layer is used.
- that made possible to omit preallocation for metadata writes.
Those are rare and won't affect performance.
- 'Simultaneous writes' feature (patches v2 12-15) dropped by now;
Might worth a separate series.
- various remarks to the previous version fixed
- some iotests added
========
Changes in v2:
- introduce new BDRV flag for write_zeroes()
instead of using driver callback directly.
Skipped introducing new functions like bdrv_co_pallocate() for now:
1. it seems ok to keep calling this write_zeroes() as zeroes
are expected;
2. most of the code can be reused now anyway, so changes to
write_zeroes() path are not significant
3. write_zeroes() alignment and max-request limits can also be reused
As a possible alternative we can have bdrv_co_pallocate() which can
switch to pwrite_zeroes(,flags|=BDRV_REQ_ALLOCATE) early.
========
This pull request is to address a few performance problems of qcow2 format:
1. non cluster-aligned write requests (to unallocated clusters) explicitly
pad data with zeroes if there is no backing data. This can be avoided
and the whole clusters are preallocated and zeroed in a single
efficient write_zeroes() operation, also providing better host file
continuity
2. moreover, efficient write_zeroes() operation can be used to preallocate
space megabytes ahead which gives noticeable improvement on some storage
types (e.g. distributed storages where space allocation operation is
expensive)
/* omitted in v3: */
3. preallocating/zeroing the clusters in advance makes possible to enable
simultaneous writes to the same unallocated cluster, which is beneficial
for parallel sequential write operations which are not cluster-aligned
Performance test results are added to commit messages (see patch 3, 12)
Anton Nefedov (10):
block: introduce BDRV_REQ_ALLOCATE flag
block: treat BDRV_REQ_ALLOCATE as serialising
file-posix: support BDRV_REQ_ALLOCATE
block: support BDRV_REQ_ALLOCATE in passthrough drivers
qcow2: set inactive flag
qcow2: move is_zero_sectors() up
qcow2: skip writing zero buffers to empty COW areas
qcow2: allocate image space by-cluster
iotest 190: test BDRV_REQ_ALLOCATE
iotest 134: test cluster-misaligned encrypted write
Denis V. Lunev (2):
qcow2: preallocation at image expand
qcow2: truncate preallocated space
Pavel Butsykin (1):
qcow2: check space leak at the end of the image
include/block/block.h | 6 +-
include/block/block_int.h | 2 +-
block/qcow2.h | 18 ++++
block/blkdebug.c | 3 +-
block/file-posix.c | 9 +-
block/io.c | 47 +++++++--
block/qcow2-cluster.c | 14 ++-
block/qcow2-refcount.c | 7 ++
block/qcow2.c | 201 +++++++++++++++++++++++++++++++++----
block/raw-format.c | 3 +-
block/trace-events | 2 +
qemu-options.hx | 4 +
tests/qemu-iotests/026.out | 104 ++++++++++++++-----
tests/qemu-iotests/026.out.nocache | 104 ++++++++++++++-----
tests/qemu-iotests/029.out | 5 +-
tests/qemu-iotests/060 | 2 +-
tests/qemu-iotests/060.out | 13 ++-
tests/qemu-iotests/061.out | 5 +-
tests/qemu-iotests/066 | 2 +-
tests/qemu-iotests/066.out | 9 +-
tests/qemu-iotests/098.out | 7 +-
tests/qemu-iotests/108.out | 5 +-
tests/qemu-iotests/112.out | 5 +-
tests/qemu-iotests/134 | 9 ++
tests/qemu-iotests/134.out | 10 ++
tests/qemu-iotests/190 | 146 +++++++++++++++++++++++++++
tests/qemu-iotests/190.out | 50 +++++++++
tests/qemu-iotests/group | 1 +
28 files changed, 693 insertions(+), 100 deletions(-)
create mode 100755 tests/qemu-iotests/190
create mode 100644 tests/qemu-iotests/190.out
--
2.7.4
Hi,
This series failed build test on FreeBSD host. Please find the details below.
Message-id: 1501518125-29851-1-git-send-email-anton.nefedov@virtuozzo.com
Subject: [Qemu-devel] [PATCH v3 00/13] qcow2: space preallocation and COW improvements
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/sh
# 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
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
pkg info
echo "=== TEST BEGIN ==="
CC=/usr/local/libexec/ccache/cc
INSTALL=$PWD/install
BUILD=$PWD/build
echo -n "Using CC: "
realpath $CC
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL --target-list=x86_64-softmmu
gmake -j4
# XXX: we need reliable clean up
# make check -j4 V=1
gmake install
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/1501518125-29851-1-git-send-email-anton.nefedov@virtuozzo.com -> patchew/1501518125-29851-1-git-send-email-anton.nefedov@virtuozzo.com
Switched to a new branch 'test'
f05e1947f6 iotest 134: test cluster-misaligned encrypted write
ea60ce90a5 iotest 190: test BDRV_REQ_ALLOCATE
1262b0d976 qcow2: allocate image space by-cluster
1985339de0 qcow2: skip writing zero buffers to empty COW areas
686ec9777c qcow2: move is_zero_sectors() up
afb51e5d22 qcow2: check space leak at the end of the image
de326b5482 qcow2: truncate preallocated space
d031bfdcb1 qcow2: set inactive flag
1a6362d051 qcow2: preallocation at image expand
7e8bd3bbe8 block: support BDRV_REQ_ALLOCATE in passthrough drivers
fa30744574 file-posix: support BDRV_REQ_ALLOCATE
45547c4026 block: treat BDRV_REQ_ALLOCATE as serialising
d435716f0b block: introduce BDRV_REQ_ALLOCATE flag
=== OUTPUT BEGIN ===
=== ENV ===
LOGNAME=patchew-tester
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
PWD=/var/tmp/patchew-tester-tmp-u6ir9ami/src
HOME=/home/patchew-tester
USER=patchew-tester
SHELL=/bin/sh
PATCHEW=/home/patchew-tester/patchew/patchew-cli -s http://patchew.org --nodebug
=== PACKAGES ===
bash-4.4.12_2 GNU Project's Bourne Again SHell
binutils-2.28,1 GNU binary tools
bison-3.0.4,1 Parser generator from FSF, (mostly) compatible with Yacc
ca_root_nss-3.30.2 Root certificate bundle from the Mozilla Project
ccache-3.3.4_3 Tool to minimize the compile time of C/C++ programs
curl-7.54.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
cvsps-2.1_2 Create patchset information from CVS
dtc-1.4.2_1 Device Tree Compiler
expat-2.2.0_1 XML 1.0 parser written in C
gcc-5.4.0 GNU Compiler Collection 5
gcc-ecj-4.5 Eclipse Java Compiler used to build GCC Java
gettext-runtime-0.19.8.1_1 GNU gettext runtime libraries and programs
git-2.13.0 Distributed source code management tool
glib-2.46.2_5 Some useful routines of C programming (current stable version)
gmake-4.2.1_1 GNU version of 'make' utility
gmp-6.1.2 Free library for arbitrary precision arithmetic
indexinfo-0.2.6 Utility to regenerate the GNU info page index
libffi-3.2.1 Foreign Function Interface
libiconv-1.14_10 Character set conversion library
libnghttp2-1.21.0 HTTP/2.0 C Library
m4-1.4.18,1 GNU M4
mpc-1.0.3 Library of complex numbers with arbitrarily high precision
mpfr-3.1.5_1 Library for multiple-precision floating-point computations
p5-Authen-SASL-2.16_1 Perl5 module for SASL authentication
p5-Digest-HMAC-1.03_1 Perl5 interface to HMAC Message-Digest Algorithms
p5-Error-0.17024 Error/exception handling in object-oriented programming style
p5-GSSAPI-0.28_1 Perl extension providing access to the GSSAPIv2 library
pcre-8.40 Perl Compatible Regular Expressions library
perl5-5.24.1 Practical Extraction and Report Language
pixman-0.34.0 Low-level pixel manipulation library
pkg-1.10.1 Package manager
pkgconf-1.3.0,1 Utility to help to configure compiler and linker flags
python-2.7_3,2 "meta-port" for the default version of Python interpreter
python2-2_3 The "meta-port" for version 2 of the Python interpreter
python27-2.7.13_3 Interpreted object-oriented programming language
python3-3_3 The "meta-port" for version 3 of the Python interpreter
python35-3.5.3_1 Interpreted object-oriented programming language
readline-6.3.8 Library for editing command lines as they are typed
sudo-1.8.20p1 Allow others to run commands as root
=== TEST BEGIN ===
Using CC: /usr/local/bin/ccache
Install prefix /var/tmp/patchew-tester-tmp-u6ir9ami/src/install
BIOS directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/share/qemu
binary directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/bin
library directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/lib
module directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/lib/qemu
libexec directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/libexec
include directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/include
config directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/etc
local state directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/var
Manual directory /var/tmp/patchew-tester-tmp-u6ir9ami/src/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /var/tmp/patchew-tester-tmp-u6ir9ami/src
C compiler /usr/local/libexec/ccache/cc
Host C compiler cc
C++ compiler c++
Objective-C compiler clang
ARFLAGS rv
CFLAGS -O2 -g
QEMU_CFLAGS -I/usr/local/include/pixman-1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -DNCURSES_WIDECHAR -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wno-string-plus-int -Wno-initializer-overrides -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-definition -Wtype-limits -fstack-protector-strong
LDFLAGS -Wl,--warn-common -m64 -g
make gmake
install install
python python -B
smbd /usr/sbin/smbd
module support no
host CPU x86_64
host big endian no
target list x86_64-softmmu
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
pixman system
SDL support no
GTK support no
GTK GL support no
VTE support no
TLS priority NORMAL
GNUTLS support no
GNUTLS rnd no
libgcrypt no
libgcrypt kdf no
nettle no
nettle kdf no
libtasn1 no
curses support yes
virgl support no
curl support yes
mingw32 support no
Audio drivers oss
Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
VNC support yes
VNC SASL support no
VNC JPEG support no
VNC PNG support no
xen support no
brlapi support no
bluez support no
Documentation no
PIE no
vde support no
netmap support yes
Linux AIO support no
ATTR/XATTR support no
Install blobs yes
KVM support no
HAX support no
TCG support yes
TCG debug enabled no
TCG interpreter no
RDMA support no
fdt support no
preadv support yes
fdatasync no
madvise yes
posix_madvise yes
libcap-ng support no
vhost-net support no
vhost-scsi support no
vhost-vsock support no
Trace backends log
spice support no
rbd support no
xfsctl support no
smartcard support no
libusb yes
usb net redir no
OpenGL support no
OpenGL dmabufs no
libiscsi support no
libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info no
QGA MSI support no
seccomp support no
coroutine backend ucontext
coroutine pool yes
debug stack usage no
crypto afalg no
GlusterFS support no
gcov gcov
gcov enabled no
TPM support yes
libssh2 support no
TPM passthrough no
QOM debugging yes
Live block migration yes
lzo support no
snappy support no
bzip2 support yes
NUMA host support no
tcmalloc support no
jemalloc support no
avx2 optimization no
replication support yes
VxHS block device no
GEN x86_64-softmmu/config-devices.mak.tmp
GEN config-host.h
GEN qemu-options.def
GEN qmp-commands.h
GEN x86_64-softmmu/config-devices.mak
GEN qapi-types.h
GEN qapi-visit.h
GEN qapi-event.h
GEN qmp-marshal.c
GEN qapi-types.c
GEN qapi-visit.c
GEN qapi-event.c
GEN qmp-introspect.h
GEN qmp-introspect.c
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN module_block.h
GEN tests/test-qapi-types.h
GEN tests/test-qapi-visit.h
GEN tests/test-qmp-commands.h
GEN tests/test-qapi-event.h
GEN tests/test-qmp-introspect.h
GEN trace-root.h
GEN util/trace.h
GEN crypto/trace.h
GEN io/trace.h
GEN migration/trace.h
GEN block/trace.h
GEN chardev/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/intc/trace.h
GEN hw/net/trace.h
GEN hw/virtio/trace.h
GEN hw/audio/trace.h
GEN hw/misc/trace.h
GEN hw/usb/trace.h
GEN hw/scsi/trace.h
GEN hw/nvram/trace.h
GEN hw/display/trace.h
GEN hw/input/trace.h
GEN hw/timer/trace.h
GEN hw/dma/trace.h
GEN hw/sparc/trace.h
GEN hw/sd/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/9pfs/trace.h
GEN hw/ppc/trace.h
GEN hw/pci/trace.h
GEN hw/s390x/trace.h
GEN hw/vfio/trace.h
GEN hw/acpi/trace.h
GEN hw/arm/trace.h
GEN hw/alpha/trace.h
GEN hw/xen/trace.h
GEN ui/trace.h
GEN audio/trace.h
GEN net/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/sparc/trace.h
GEN target/s390x/trace.h
GEN target/ppc/trace.h
GEN qom/trace.h
GEN linux-user/trace.h
GEN qapi/trace.h
GEN accel/tcg/trace.h
GEN accel/kvm/trace.h
GEN nbd/trace.h
GEN trace-root.c
GEN util/trace.c
GEN crypto/trace.c
GEN io/trace.c
GEN migration/trace.c
GEN block/trace.c
GEN chardev/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/intc/trace.c
GEN hw/net/trace.c
GEN hw/virtio/trace.c
GEN hw/audio/trace.c
GEN hw/misc/trace.c
GEN hw/usb/trace.c
GEN hw/scsi/trace.c
GEN hw/nvram/trace.c
GEN hw/display/trace.c
GEN hw/input/trace.c
GEN hw/timer/trace.c
GEN hw/dma/trace.c
GEN hw/sparc/trace.c
GEN hw/sd/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/9pfs/trace.c
GEN hw/ppc/trace.c
GEN hw/pci/trace.c
GEN hw/s390x/trace.c
GEN hw/vfio/trace.c
GEN hw/acpi/trace.c
GEN hw/arm/trace.c
GEN hw/alpha/trace.c
GEN hw/xen/trace.c
GEN ui/trace.c
GEN audio/trace.c
GEN net/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/sparc/trace.c
GEN target/s390x/trace.c
GEN target/ppc/trace.c
GEN qom/trace.c
GEN linux-user/trace.c
GEN qapi/trace.c
GEN accel/tcg/trace.c
GEN accel/kvm/trace.c
GEN nbd/trace.c
GEN config-all-devices.mak
GEN qga/qapi-generated/qga-qapi-types.h
GEN qga/qapi-generated/qga-qapi-visit.h
GEN qga/qapi-generated/qga-qmp-commands.h
GEN qga/qapi-generated/qga-qapi-types.c
GEN qga/qapi-generated/qga-qapi-visit.c
GEN qga/qapi-generated/qga-qmp-marshal.c
CC qmp-introspect.o
CC qapi-types.o
CC qapi-visit.o
CC qapi-event.o
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qobject-input-visitor.o
CC qapi/qobject-output-visitor.o
CC qapi/qmp-registry.o
CC qapi/qmp-dispatch.o
CC qapi/string-input-visitor.o
CC qapi/string-output-visitor.o
CC qapi/opts-visitor.o
CC qapi/qapi-clone-visitor.o
CC qapi/qmp-event.o
CC qapi/qapi-util.o
CC qobject/qnull.o
CC qobject/qnum.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qlist.o
CC qobject/qbool.o
CC qobject/qjson.o
CC qobject/qobject.o
CC qobject/json-lexer.o
CC qobject/json-streamer.o
CC qobject/json-parser.o
CC trace/control.o
CC trace/qmp.o
CC util/osdep.o
CC util/cutils.o
CC util/unicode.o
CC util/qemu-timer-common.o
CC util/bufferiszero.o
CC util/lockcnt.o
CC util/aiocb.o
CC util/async.o
CC util/thread-pool.o
CC util/qemu-timer.o
CC util/main-loop.o
CC util/iohandler.o
CC util/aio-posix.o
CC util/compatfd.o
CC util/event_notifier-posix.o
CC util/mmap-alloc.o
CC util/oslib-posix.o
CC util/qemu-openpty.o
CC util/qemu-thread-posix.o
CC util/memfd.o
CC util/envlist.o
CC util/path.o
CC util/module.o
CC util/host-utils.o
CC util/bitmap.o
CC util/bitops.o
CC util/hbitmap.o
CC util/fifo8.o
CC util/acl.o
CC util/cacheinfo.o
CC util/error.o
CC util/qemu-error.o
CC util/id.o
CC util/iov.o
CC util/qemu-config.o
CC util/qemu-sockets.o
CC util/uri.o
CC util/notify.o
CC util/qemu-option.o
CC util/qemu-progress.o
CC util/keyval.o
CC util/hexdump.o
CC util/crc32c.o
CC util/uuid.o
CC util/throttle.o
CC util/getauxval.o
CC util/readline.o
CC util/rcu.o
CC util/qemu-coroutine.o
CC util/qemu-coroutine-lock.o
CC util/qemu-coroutine-io.o
CC util/qemu-coroutine-sleep.o
CC util/coroutine-ucontext.o
CC util/buffer.o
CC util/timed-average.o
CC util/base64.o
CC util/log.o
CC util/qdist.o
CC util/qht.o
CC util/range.o
CC util/stats64.o
CC util/systemd.o
CC trace-root.o
CC util/trace.o
CC crypto/trace.o
CC io/trace.o
CC migration/trace.o
CC block/trace.o
CC chardev/trace.o
CC hw/block/trace.o
CC hw/block/dataplane/trace.o
CC hw/char/trace.o
CC hw/intc/trace.o
CC hw/net/trace.o
CC hw/virtio/trace.o
CC hw/audio/trace.o
CC hw/misc/trace.o
CC hw/usb/trace.o
CC hw/scsi/trace.o
CC hw/nvram/trace.o
CC hw/display/trace.o
CC hw/input/trace.o
CC hw/timer/trace.o
CC hw/dma/trace.o
CC hw/sparc/trace.o
CC hw/sd/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/9pfs/trace.o
CC hw/ppc/trace.o
CC hw/pci/trace.o
CC hw/s390x/trace.o
CC hw/vfio/trace.o
CC hw/acpi/trace.o
CC hw/arm/trace.o
CC hw/alpha/trace.o
CC hw/xen/trace.o
CC ui/trace.o
CC audio/trace.o
CC net/trace.o
CC target/arm/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/sparc/trace.o
CC target/s390x/trace.o
CC target/ppc/trace.o
CC qom/trace.o
CC linux-user/trace.o
CC qapi/trace.o
CC accel/tcg/trace.o
CC accel/kvm/trace.o
CC nbd/trace.o
CC crypto/pbkdf-stub.o
CC stubs/arch-query-cpu-def.o
CC stubs/arch-query-cpu-model-expansion.o
CC stubs/arch-query-cpu-model-comparison.o
CC stubs/arch-query-cpu-model-baseline.o
CC stubs/bdrv-next-monitor-owned.o
CC stubs/blk-commit-all.o
CC stubs/blockdev-close-all-bdrv-states.o
CC stubs/clock-warp.o
CC stubs/cpu-get-clock.o
CC stubs/cpu-get-icount.o
CC stubs/dump.o
CC stubs/error-printf.o
CC stubs/fdset.o
CC stubs/get-vm-name.o
CC stubs/gdbstub.o
CC stubs/iothread.o
CC stubs/iothread-lock.o
CC stubs/is-daemonized.o
CC stubs/machine-init-done.o
CC stubs/migr-blocker.o
CC stubs/monitor.o
CC stubs/notify-event.o
CC stubs/qtest.o
CC stubs/replay.o
CC stubs/runstate-check.o
CC stubs/set-fd-handler.o
CC stubs/slirp.o
CC stubs/sysbus.o
CC stubs/trace-control.o
CC stubs/uuid.o
CC stubs/vm-stop.o
CC stubs/vmstate.o
CC stubs/qmp_pc_dimm_device_list.o
CC stubs/target-monitor-defs.o
CC stubs/target-get-monitor-def.o
CC stubs/pc_madt_cpu_entry.o
CC stubs/vmgenid.o
CC stubs/xen-common.o
CC stubs/xen-hvm.o
CC qemu-nbd.o
CC block.o
CC blockjob.o
CC qemu-io-cmds.o
CC replication.o
CC block/raw-format.o
CC block/qcow.o
CC block/vdi.o
CC block/vmdk.o
CC block/cloop.o
CC block/bochs.o
CC block/vpc.o
CC block/vvfat.o
CC block/dmg.o
CC block/qcow2.o
CC block/qcow2-refcount.o
CC block/qcow2-cluster.o
CC block/qcow2-snapshot.o
CC block/qcow2-cache.o
CC block/qcow2-bitmap.o
CC block/qed.o
CC block/qed-l2-cache.o
CC block/qed-table.o
CC block/qed-cluster.o
CC block/qed-check.o
CC block/vhdx.o
CC block/vhdx-endian.o
CC block/vhdx-log.o
CC block/quorum.o
CC block/parallels.o
CC block/blkdebug.o
CC block/blkverify.o
CC block/blkreplay.o
CC block/block-backend.o
CC block/snapshot.o
CC block/qapi.o
CC block/file-posix.o
CC block/null.o
/var/tmp/patchew-tester-tmp-u6ir9ami/src/block/file-posix.c:1397:10: error: use of undeclared identifier 's'
if (!s->has_fallocate) {
^
1 error generated.
CC block/mirror.o
gmake: *** [/var/tmp/patchew-tester-tmp-u6ir9ami/src/rules.mak:66: block/file-posix.o] Error 1
gmake: *** Waiting for unfinished jobs....
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
© 2016 - 2026 Red Hat, Inc.