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 - 2024 Red Hat, Inc.