[PATCH v2 00/17] 64bit block-layer

Vladimir Sementsov-Ogievskiy posted 17 patches 3 years, 11 months ago
Test docker-mingw@fedora failed
Test docker-quick@centos7 failed
Test checkpatch passed
Test FreeBSD passed
Test asan failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200427082325.10414-1-vsementsov@virtuozzo.com
Maintainers: John Snow <jsnow@redhat.com>, Stefan Weil <sw@weilnetz.de>, Peter Lieven <pl@kamp.de>, Stefan Hajnoczi <stefanha@redhat.com>, Ronnie Sahlberg <ronniesahlberg@gmail.com>, Eric Blake <eblake@redhat.com>, Liu Yuan <namei.unix@gmail.com>, Alberto Garcia <berto@igalia.com>, Fam Zheng <fam@euphon.net>, Paolo Bonzini <pbonzini@redhat.com>, Ari Sundholm <ari@tuxera.com>, Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, Jason Dillaman <dillaman@redhat.com>
There is a newer version of this series
include/block/block.h           |  16 ++---
include/block/block_int.h       |  56 ++++++++--------
include/block/throttle-groups.h |   2 +-
include/sysemu/block-backend.h  |  26 ++++----
block/backup-top.c              |   9 ++-
block/blkdebug.c                |   8 +--
block/blklogwrites.c            |  12 ++--
block/blkreplay.c               |   8 +--
block/blkverify.c               |   6 +-
block/block-backend.c           |  60 +++++++++---------
block/bochs.c                   |   2 +-
block/cloop.c                   |   2 +-
block/commit.c                  |   2 +-
block/copy-on-read.c            |   8 +--
block/crypto.c                  |   4 +-
block/curl.c                    |   2 +-
block/dmg.c                     |   2 +-
block/file-posix.c              |  42 ++++++++----
block/filter-compress.c         |  10 +--
block/gluster.c                 |  14 ++--
block/io.c                      | 109 +++++++++++++++++---------------
block/iscsi.c                   |  34 +++++++---
block/mirror.c                  |   8 +--
block/nbd.c                     |  16 +++--
block/nfs.c                     |   8 +--
block/null.c                    |   8 +--
block/nvme.c                    |  33 +++++++---
block/qcow.c                    |  12 ++--
block/qcow2.c                   |  29 +++++----
block/qed.c                     |  17 +++--
block/quorum.c                  |   8 +--
block/raw-format.c              |  32 +++++-----
block/rbd.c                     |   4 +-
block/sheepdog.c                |  11 +++-
block/throttle-groups.c         |   2 +-
block/throttle.c                |   8 +--
block/vdi.c                     |   4 +-
block/vmdk.c                    |  10 +--
block/vpc.c                     |   4 +-
block/vvfat.c                   |   6 +-
tests/test-bdrv-drain.c         |   8 +--
block/trace-events              |  14 ++--
42 files changed, 379 insertions(+), 297 deletions(-)
[PATCH v2 00/17] 64bit block-layer
Posted by Vladimir Sementsov-Ogievskiy 3 years, 11 months ago
Hi all!

v1 was "[RFC 0/3] 64bit block-layer part I", please refer to initial
cover-letter 
 https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg08723.html
for motivation.

v2:
patch 02 is unchanged, add Stefan's r-b. Everything other is changed a
lot. What's new:

- conversion of block/io.c is now done step-by-step, to make careful
  review possible as well as future bisecting

- converting of driver handlers split by io type

- convert write_zeroes and discard (so the series is not called "part I"
  any more). I decided to convert most of things alltogether, leaving
  simple wrappers only in unobvious places. Still, if you consider it
  risky, I can refactor it to use only wrappers as a first patch and
  then update driver-by-driver, but it would be lot more patches, I'm
  not sure it worth doing.

Vladimir Sementsov-Ogievskiy (17):
  block/throttle-groups: throttle_group_co_io_limits_intercept(): 64bit
    bytes
  block: use int64_t as bytes type in tracked requests
  block/io: use int64_t bytes parameter in bdrv_check_byte_request()
  block/io: use int64_t bytes in driver wrappers
  block/io: support int64_t bytes in bdrv_co_do_pwrite_zeroes()
  block/io: support int64_t bytes in bdrv_aligned_pwritev()
  block/io: support int64_t bytes in bdrv_co_do_copy_on_readv()
  block/io: support int64_t bytes in bdrv_aligned_preadv()
  block/io: support int64_t bytes in bdrv_co_p{read,write}v_part()
  block/io: support int64_t bytes in read/write wrappers
  block/io: use int64_t bytes in copy_range
  block/block-backend: convert blk io path to use int64_t parameters
  block: use int64_t instead of uint64_t in driver read handlers
  block: use int64_t instead of uint64_t in driver write handlers
  block: use int64_t instead of uint64_t in copy_range driver handlers
  block: use int64_t instead of int in driver write_zeroes handlers
  block: use int64_t instead of int in driver discard handlers

 include/block/block.h           |  16 ++---
 include/block/block_int.h       |  56 ++++++++--------
 include/block/throttle-groups.h |   2 +-
 include/sysemu/block-backend.h  |  26 ++++----
 block/backup-top.c              |   9 ++-
 block/blkdebug.c                |   8 +--
 block/blklogwrites.c            |  12 ++--
 block/blkreplay.c               |   8 +--
 block/blkverify.c               |   6 +-
 block/block-backend.c           |  60 +++++++++---------
 block/bochs.c                   |   2 +-
 block/cloop.c                   |   2 +-
 block/commit.c                  |   2 +-
 block/copy-on-read.c            |   8 +--
 block/crypto.c                  |   4 +-
 block/curl.c                    |   2 +-
 block/dmg.c                     |   2 +-
 block/file-posix.c              |  42 ++++++++----
 block/filter-compress.c         |  10 +--
 block/gluster.c                 |  14 ++--
 block/io.c                      | 109 +++++++++++++++++---------------
 block/iscsi.c                   |  34 +++++++---
 block/mirror.c                  |   8 +--
 block/nbd.c                     |  16 +++--
 block/nfs.c                     |   8 +--
 block/null.c                    |   8 +--
 block/nvme.c                    |  33 +++++++---
 block/qcow.c                    |  12 ++--
 block/qcow2.c                   |  29 +++++----
 block/qed.c                     |  17 +++--
 block/quorum.c                  |   8 +--
 block/raw-format.c              |  32 +++++-----
 block/rbd.c                     |   4 +-
 block/sheepdog.c                |  11 +++-
 block/throttle-groups.c         |   2 +-
 block/throttle.c                |   8 +--
 block/vdi.c                     |   4 +-
 block/vmdk.c                    |  10 +--
 block/vpc.c                     |   4 +-
 block/vvfat.c                   |   6 +-
 tests/test-bdrv-drain.c         |   8 +--
 block/trace-events              |  14 ++--
 42 files changed, 379 insertions(+), 297 deletions(-)

-- 
2.21.0


Re: [PATCH v2 00/17] 64bit block-layer
Posted by no-reply@patchew.org 3 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20200427082325.10414-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
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

clang -iquote /tmp/qemu-test/build/tests -iquote tests -iquote /tmp/qemu-test/src/tcg/i386 -isystem /tmp/qemu-test/src/linux-headers -isystem /tmp/qemu-test/build/linux-headers -iquote . -iquote /tmp/qemu-test/src -iquote /tmp/qemu-test/src/accel/tcg -iquote /tmp/qemu-test/src/include -iquote /tmp/qemu-test/src/disas/libvixl -I/usr/include/pixman-1   -Werror -fsanitize=undefined -fsanitize=address  -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -fPIE -DPIE -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 -std=gnu99  -Wno-string-plus-int -Wno-typedef-redefinition -Wno-initializer-overrides -Wexpansion-to-defined -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   -I/usr/include/p11-kit-1   -DLEGACY_RDMA_REG_MR -DSTRUCT_IOVEC_DEFINED  -I/usr/include/libpng16  -I/usr/include/spice-1 -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/pixman-1   -I/tmp/qemu-test/src/tests -I/tmp/qemu-test/src/tests/qtest -MMD -MP -MT tests/test-authz-listfile.o -MF tests/test-authz-listfile.d -g   -c -o tests/test-authz-listfile.o /tmp/qemu-test/src/tests/test-authz-listfile.c
clang -iquote /tmp/qemu-test/build/tests -iquote tests -iquote /tmp/qemu-test/src/tcg/i386 -isystem /tmp/qemu-test/src/linux-headers -isystem /tmp/qemu-test/build/linux-headers -iquote . -iquote /tmp/qemu-test/src -iquote /tmp/qemu-test/src/accel/tcg -iquote /tmp/qemu-test/src/include -iquote /tmp/qemu-test/src/disas/libvixl -I/usr/include/pixman-1   -Werror -fsanitize=undefined -fsanitize=address  -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -fPIE -DPIE -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 -std=gnu99  -Wno-string-plus-int -Wno-typedef-redefinition -Wno-initializer-overrides -Wexpansion-to-defined -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   -I/usr/include/p11-kit-1   -DLEGACY_RDMA_REG_MR -DSTRUCT_IOVEC_DEFINED  -I/usr/include/libpng16  -I/usr/include/spice-1 -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/pixman-1   -I/tmp/qemu-test/src/tests -I/tmp/qemu-test/src/tests/qtest -MMD -MP -MT tests/test-io-task.o -MF tests/test-io-task.d -g   -c -o tests/test-io-task.o /tmp/qemu-test/src/tests/test-io-task.c
clang -iquote /tmp/qemu-test/build/tests -iquote tests -iquote /tmp/qemu-test/src/tcg/i386 -isystem /tmp/qemu-test/src/linux-headers -isystem /tmp/qemu-test/build/linux-headers -iquote . -iquote /tmp/qemu-test/src -iquote /tmp/qemu-test/src/accel/tcg -iquote /tmp/qemu-test/src/include -iquote /tmp/qemu-test/src/disas/libvixl -I/usr/include/pixman-1   -Werror -fsanitize=undefined -fsanitize=address  -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -fPIE -DPIE -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 -std=gnu99  -Wno-string-plus-int -Wno-typedef-redefinition -Wno-initializer-overrides -Wexpansion-to-defined -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   -I/usr/include/p11-kit-1   -DLEGACY_RDMA_REG_MR -DSTRUCT_IOVEC_DEFINED  -I/usr/include/libpng16  -I/usr/include/spice-1 -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/pixman-1   -I/tmp/qemu-test/src/tests -I/tmp/qemu-test/src/tests/qtest -MMD -MP -MT tests/test-io-channel-socket.o -MF tests/test-io-channel-socket.d -g   -c -o tests/test-io-channel-socket.o /tmp/qemu-test/src/tests/test-io-channel-socket.c
/tmp/qemu-test/src/tests/test-block-iothread.c:68:31: error: incompatible pointer types initializing 'int (*)(BlockDriverState *, int64_t, int64_t, QEMUIOVector *, int)' (aka 'int (*)(struct BlockDriverState *, long, long, struct QEMUIOVector *, int)') with an expression of type 'int (BlockDriverState *, uint64_t, uint64_t, QEMUIOVector *, int)' (aka 'int (struct BlockDriverState *, unsigned long, unsigned long, struct QEMUIOVector *, int)') [-Werror,-Wincompatible-pointer-types]
    .bdrv_co_preadv         = bdrv_test_co_prwv,
                              ^~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/tests/test-block-iothread.c:69:31: error: incompatible pointer types initializing 'int (*)(BlockDriverState *, int64_t, int64_t, QEMUIOVector *, int)' (aka 'int (*)(struct BlockDriverState *, long, long, struct QEMUIOVector *, int)') with an expression of type 'int (BlockDriverState *, uint64_t, uint64_t, QEMUIOVector *, int)' (aka 'int (struct BlockDriverState *, unsigned long, unsigned long, struct QEMUIOVector *, int)') [-Werror,-Wincompatible-pointer-types]
    .bdrv_co_pwritev        = bdrv_test_co_prwv,
                              ^~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/tests/test-block-iothread.c:70:31: error: incompatible pointer types initializing 'int (*)(BlockDriverState *, int64_t, int64_t)' (aka 'int (*)(struct BlockDriverState *, long, long)') with an expression of type 'int (BlockDriverState *, int64_t, int)' (aka 'int (struct BlockDriverState *, long, int)') [-Werror,-Wincompatible-pointer-types]
    .bdrv_co_pdiscard       = bdrv_test_co_pdiscard,
                              ^~~~~~~~~~~~~~~~~~~~~
3 errors generated.
make: *** [/tmp/qemu-test/src/rules.mak:69: tests/test-block-iothread.o] Error 1
make: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/qemu-test/build/x86_64-softmmu'
Traceback (most recent call last):
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=d2d235a1f4134804a67563d47cf752e4', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=x86_64-softmmu', '-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-m9k8_1ij/src/docker-src.2020-04-27-05.25.43.843:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-debug']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=d2d235a1f4134804a67563d47cf752e4
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-m9k8_1ij/src'
make: *** [docker-run-test-debug@fedora] Error 2

real    4m17.946s
user    0m8.042s


The full log is available at
http://patchew.org/logs/20200427082325.10414-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
Re: [PATCH v2 00/17] 64bit block-layer
Posted by Eric Blake 3 years, 11 months ago
On 4/27/20 3:23 AM, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
> 
> v1 was "[RFC 0/3] 64bit block-layer part I", please refer to initial
> cover-letter
>   https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg08723.html
> for motivation.
> 
> v2:
> patch 02 is unchanged, add Stefan's r-b. Everything other is changed a
> lot. What's new:
> 

You'll also want to check my (now-abandoned?) posting from a while back:
https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg02769.html

to see what (if anything) from that attempt can be salvaged.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org


Re: [PATCH v2 00/17] 64bit block-layer
Posted by Vladimir Sementsov-Ogievskiy 3 years, 11 months ago
29.04.2020 0:33, Eric Blake wrote:
> On 4/27/20 3:23 AM, Vladimir Sementsov-Ogievskiy wrote:
>> Hi all!
>>
>> v1 was "[RFC 0/3] 64bit block-layer part I", please refer to initial
>> cover-letter
>>   https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg08723.html
>> for motivation.
>>
>> v2:
>> patch 02 is unchanged, add Stefan's r-b. Everything other is changed a
>> lot. What's new:
>>
> 
> You'll also want to check my (now-abandoned?) posting from a while back:
> https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg02769.html
> 
> to see what (if anything) from that attempt can be salvaged.
> 

Hmm, looks close :) will keep it in mind, thanks. Or, may be you want to resend? First 4 patches are not needed now, as bdrv_read/bdrv_write already dropped.

-- 
Best regards,
Vladimir

Re: [PATCH v2 00/17] 64bit block-layer
Posted by Vladimir Sementsov-Ogievskiy 3 years, 11 months ago
Hmm. I definitely should rebase it onto "[PATCH for-5.0? 0/9] block/io: safer inc/dec in_flight sections"...


27.04.2020 11:23, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
> 
> v1 was "[RFC 0/3] 64bit block-layer part I", please refer to initial
> cover-letter
>   https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg08723.html
> for motivation.
> 
> v2:
> patch 02 is unchanged, add Stefan's r-b. Everything other is changed a
> lot. What's new:
> 
> - conversion of block/io.c is now done step-by-step, to make careful
>    review possible as well as future bisecting
> 
> - converting of driver handlers split by io type
> 
> - convert write_zeroes and discard (so the series is not called "part I"
>    any more). I decided to convert most of things alltogether, leaving
>    simple wrappers only in unobvious places. Still, if you consider it
>    risky, I can refactor it to use only wrappers as a first patch and
>    then update driver-by-driver, but it would be lot more patches, I'm
>    not sure it worth doing.
> 
> Vladimir Sementsov-Ogievskiy (17):
>    block/throttle-groups: throttle_group_co_io_limits_intercept(): 64bit
>      bytes
>    block: use int64_t as bytes type in tracked requests
>    block/io: use int64_t bytes parameter in bdrv_check_byte_request()
>    block/io: use int64_t bytes in driver wrappers
>    block/io: support int64_t bytes in bdrv_co_do_pwrite_zeroes()
>    block/io: support int64_t bytes in bdrv_aligned_pwritev()
>    block/io: support int64_t bytes in bdrv_co_do_copy_on_readv()
>    block/io: support int64_t bytes in bdrv_aligned_preadv()
>    block/io: support int64_t bytes in bdrv_co_p{read,write}v_part()
>    block/io: support int64_t bytes in read/write wrappers
>    block/io: use int64_t bytes in copy_range
>    block/block-backend: convert blk io path to use int64_t parameters
>    block: use int64_t instead of uint64_t in driver read handlers
>    block: use int64_t instead of uint64_t in driver write handlers
>    block: use int64_t instead of uint64_t in copy_range driver handlers
>    block: use int64_t instead of int in driver write_zeroes handlers
>    block: use int64_t instead of int in driver discard handlers
> 
>   include/block/block.h           |  16 ++---
>   include/block/block_int.h       |  56 ++++++++--------
>   include/block/throttle-groups.h |   2 +-
>   include/sysemu/block-backend.h  |  26 ++++----
>   block/backup-top.c              |   9 ++-
>   block/blkdebug.c                |   8 +--
>   block/blklogwrites.c            |  12 ++--
>   block/blkreplay.c               |   8 +--
>   block/blkverify.c               |   6 +-
>   block/block-backend.c           |  60 +++++++++---------
>   block/bochs.c                   |   2 +-
>   block/cloop.c                   |   2 +-
>   block/commit.c                  |   2 +-
>   block/copy-on-read.c            |   8 +--
>   block/crypto.c                  |   4 +-
>   block/curl.c                    |   2 +-
>   block/dmg.c                     |   2 +-
>   block/file-posix.c              |  42 ++++++++----
>   block/filter-compress.c         |  10 +--
>   block/gluster.c                 |  14 ++--
>   block/io.c                      | 109 +++++++++++++++++---------------
>   block/iscsi.c                   |  34 +++++++---
>   block/mirror.c                  |   8 +--
>   block/nbd.c                     |  16 +++--
>   block/nfs.c                     |   8 +--
>   block/null.c                    |   8 +--
>   block/nvme.c                    |  33 +++++++---
>   block/qcow.c                    |  12 ++--
>   block/qcow2.c                   |  29 +++++----
>   block/qed.c                     |  17 +++--
>   block/quorum.c                  |   8 +--
>   block/raw-format.c              |  32 +++++-----
>   block/rbd.c                     |   4 +-
>   block/sheepdog.c                |  11 +++-
>   block/throttle-groups.c         |   2 +-
>   block/throttle.c                |   8 +--
>   block/vdi.c                     |   4 +-
>   block/vmdk.c                    |  10 +--
>   block/vpc.c                     |   4 +-
>   block/vvfat.c                   |   6 +-
>   tests/test-bdrv-drain.c         |   8 +--
>   block/trace-events              |  14 ++--
>   42 files changed, 379 insertions(+), 297 deletions(-)
> 


-- 
Best regards,
Vladimir

Re: [PATCH v2 00/17] 64bit block-layer
Posted by no-reply@patchew.org 3 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20200427082325.10414-1-vsementsov@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 ===

  CC      block/sheepdog.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
/tmp/qemu-test/src/block/file-win32.c:643:27: error: initialization of 'BlockAIOCB * (*)(BlockDriverState *, int64_t,  int64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long int,  long long int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} from incompatible pointer type 'BlockAIOCB * (*)(BlockDriverState *, uint64_t,  uint64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long unsigned int,  long long unsigned int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} [-Werror=incompatible-pointer-types]
     .bdrv_aio_preadv    = raw_aio_preadv,
                           ^~~~~~~~~~~~~~
/tmp/qemu-test/src/block/file-win32.c:643:27: note: (near initialization for 'bdrv_file.bdrv_aio_preadv')
/tmp/qemu-test/src/block/file-win32.c:644:27: error: initialization of 'BlockAIOCB * (*)(BlockDriverState *, int64_t,  int64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long int,  long long int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} from incompatible pointer type 'BlockAIOCB * (*)(BlockDriverState *, uint64_t,  uint64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long unsigned int,  long long unsigned int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} [-Werror=incompatible-pointer-types]
     .bdrv_aio_pwritev   = raw_aio_pwritev,
                           ^~~~~~~~~~~~~~~
/tmp/qemu-test/src/block/file-win32.c:644:27: note: (near initialization for 'bdrv_file.bdrv_aio_pwritev')
/tmp/qemu-test/src/block/file-win32.c:812:27: error: initialization of 'BlockAIOCB * (*)(BlockDriverState *, int64_t,  int64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long int,  long long int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} from incompatible pointer type 'BlockAIOCB * (*)(BlockDriverState *, uint64_t,  uint64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long unsigned int,  long long unsigned int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} [-Werror=incompatible-pointer-types]
     .bdrv_aio_preadv    = raw_aio_preadv,
                           ^~~~~~~~~~~~~~
/tmp/qemu-test/src/block/file-win32.c:812:27: note: (near initialization for 'bdrv_host_device.bdrv_aio_preadv')
/tmp/qemu-test/src/block/file-win32.c:813:27: error: initialization of 'BlockAIOCB * (*)(BlockDriverState *, int64_t,  int64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long int,  long long int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} from incompatible pointer type 'BlockAIOCB * (*)(BlockDriverState *, uint64_t,  uint64_t,  QEMUIOVector *, int,  void (*)(void *, int), void *)' {aka 'struct BlockAIOCB * (*)(struct BlockDriverState *, long long unsigned int,  long long unsigned int,  struct QEMUIOVector *, int,  void (*)(void *, int), void *)'} [-Werror=incompatible-pointer-types]
     .bdrv_aio_pwritev   = raw_aio_pwritev,
                           ^~~~~~~~~~~~~~~
/tmp/qemu-test/src/block/file-win32.c:813:27: note: (near initialization for 'bdrv_host_device.bdrv_aio_pwritev')
cc1: all warnings being treated as errors
make: *** [/tmp/qemu-test/src/rules.mak:69: block/file-win32.o] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 664, in <module>
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=e3fcc585a42b4bfa8acd11130f8d165e', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '-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/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-4hyn5l20/src/docker-src.2020-04-27-06.04.28.26691:/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=e3fcc585a42b4bfa8acd11130f8d165e
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-4hyn5l20/src'
make: *** [docker-run-test-mingw@fedora] Error 2

real    4m14.193s
user    0m9.376s


The full log is available at
http://patchew.org/logs/20200427082325.10414-1-vsementsov@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
Re: [PATCH v2 00/17] 64bit block-layer
Posted by no-reply@patchew.org 3 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20200427082325.10414-1-vsementsov@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 ===

  CC      tests/test-qht.o
  CC      tests/test-qht-par.o
  CC      tests/qht-bench.o
/tmp/qemu-test/src/tests/test-block-iothread.c:68:5: error: initialization from incompatible pointer type [-Werror]
     .bdrv_co_preadv         = bdrv_test_co_prwv,
     ^
/tmp/qemu-test/src/tests/test-block-iothread.c:68:5: error: (near initialization for 'bdrv_test.bdrv_co_preadv') [-Werror]
/tmp/qemu-test/src/tests/test-block-iothread.c:69:5: error: initialization from incompatible pointer type [-Werror]
     .bdrv_co_pwritev        = bdrv_test_co_prwv,
     ^
/tmp/qemu-test/src/tests/test-block-iothread.c:69:5: error: (near initialization for 'bdrv_test.bdrv_co_pwritev') [-Werror]
/tmp/qemu-test/src/tests/test-block-iothread.c:70:5: error: initialization from incompatible pointer type [-Werror]
     .bdrv_co_pdiscard       = bdrv_test_co_pdiscard,
     ^
/tmp/qemu-test/src/tests/test-block-iothread.c:70:5: error: (near initialization for 'bdrv_test.bdrv_co_pdiscard') [-Werror]
cc1: all warnings being treated as errors
make: *** [tests/test-block-iothread.o] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 664, in <module>
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=957479540fc74221b559a98e20734189', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '-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/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-d_zj0hid/src/docker-src.2020-04-27-05.55.36.14128:/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=957479540fc74221b559a98e20734189
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-d_zj0hid/src'
make: *** [docker-run-test-quick@centos7] Error 2

real    7m9.461s
user    0m9.365s


The full log is available at
http://patchew.org/logs/20200427082325.10414-1-vsementsov@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