mbox

[PULL,00/37] Block layer patches

Message ID 20180302185448.6314-1-kwolf@redhat.com
State New
Headers show

Pull-request

git://repo.or.cz/qemu/kevin.git tags/for-upstream

Message

Kevin Wolf March 2, 2018, 6:54 p.m. UTC
The following changes since commit 86f4c7e05b1c44dbe1b329a51f311f10aef6ff34:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180302' into staging (2018-03-02 14:37:10 +0000)

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to 9d9b4b640f9e583ff4b24dc762630945f3ccc16d:

  Merge remote-tracking branch 'mreitz/tags/pull-block-2018-03-02' into queue-block (2018-03-02 18:45:03 +0100)

----------------------------------------------------------------
Block layer patches

----------------------------------------------------------------
Alberto Garcia (3):
      specs/qcow2: Fix documentation of the compressed cluster descriptor
      docs: document how to use the l2-cache-entry-size parameter
      qcow2: Replace align_offset() with ROUND_UP()

Anton Nefedov (2):
      block: fix write with zero flag set and iovector provided
      iotest 033: add misaligned write-zeroes test via truncate

Eric Blake (21):
      block: Add .bdrv_co_block_status() callback
      nvme: Drop pointless .bdrv_co_get_block_status()
      block: Switch passthrough drivers to .bdrv_co_block_status()
      file-posix: Switch to .bdrv_co_block_status()
      gluster: Switch to .bdrv_co_block_status()
      iscsi: Switch cluster_sectors to byte-based
      iscsi: Switch iscsi_allocmap_update() to byte-based
      iscsi: Switch to .bdrv_co_block_status()
      null: Switch to .bdrv_co_block_status()
      parallels: Switch to .bdrv_co_block_status()
      qcow: Switch to .bdrv_co_block_status()
      qcow2: Switch to .bdrv_co_block_status()
      qed: Switch to .bdrv_co_block_status()
      raw: Switch to .bdrv_co_block_status()
      sheepdog: Switch to .bdrv_co_block_status()
      vdi: Avoid bitrot of debugging code
      vdi: Switch to .bdrv_co_block_status()
      vmdk: Switch to .bdrv_co_block_status()
      vpc: Switch to .bdrv_co_block_status()
      vvfat: Switch to .bdrv_co_block_status()
      block: Drop unused .bdrv_co_get_block_status()

Kevin Wolf (2):
      block: test blk_aio_flush() with blk->root == NULL
      Merge remote-tracking branch 'mreitz/tags/pull-block-2018-03-02' into queue-block

Max Reitz (4):
      qemu-img: Make resize error message more general
      block/ssh: Pull ssh_grow_file() from ssh_create()
      block/ssh: Make ssh_grow_file() blocking
      block/ssh: Add basic .bdrv_truncate()

Stefan Hajnoczi (6):
      aio: rename aio_context_in_iothread() to in_aio_context_home_thread()
      block: extract AIO_WAIT_WHILE() from BlockDriverState
      block: add BlockBackend->in_flight counter
      Revert "IDE: Do not flush empty CDROM drives"
      block: rename .bdrv_create() to .bdrv_co_create_opts()
      qcow2: make qcow2_co_create2() a coroutine_fn

 docs/interop/qcow2.txt     |  16 ++++-
 docs/qcow2-cache.txt       |  46 ++++++++++++-
 block/qcow2.h              |   6 --
 include/block/aio-wait.h   | 116 ++++++++++++++++++++++++++++++++
 include/block/aio.h        |   7 +-
 include/block/block.h      |  54 ++++-----------
 include/block/block_int.h  |  61 ++++++++++-------
 block.c                    |  11 ++-
 block/blkdebug.c           |  20 +++---
 block/block-backend.c      |  60 +++++++++++++++--
 block/commit.c             |   2 +-
 block/crypto.c             |   8 +--
 block/file-posix.c         |  79 +++++++++++-----------
 block/file-win32.c         |   5 +-
 block/gluster.c            |  83 ++++++++++++-----------
 block/io.c                 |  98 +++++++++++----------------
 block/iscsi.c              | 164 ++++++++++++++++++++++++---------------------
 block/mirror.c             |   2 +-
 block/nfs.c                |   5 +-
 block/null.c               |  23 ++++---
 block/nvme.c               |  14 ----
 block/parallels.c          |  28 +++++---
 block/qcow.c               |  32 +++++----
 block/qcow2-bitmap.c       |   4 +-
 block/qcow2-cluster.c      |   4 +-
 block/qcow2-refcount.c     |   4 +-
 block/qcow2-snapshot.c     |  10 +--
 block/qcow2.c              |  60 +++++++++--------
 block/qed.c                |  82 ++++++++---------------
 block/raw-format.c         |  21 +++---
 block/rbd.c                |   6 +-
 block/sheepdog.c           |  36 +++++-----
 block/ssh.c                |  66 +++++++++++++++---
 block/throttle.c           |   2 +-
 block/vdi.c                |  50 +++++++-------
 block/vhdx.c               |   5 +-
 block/vmdk.c               |  43 +++++-------
 block/vpc.c                |  50 +++++++-------
 block/vvfat.c              |  16 ++---
 hw/ide/core.c              |  10 +--
 qemu-img.c                 |   2 +-
 tests/test-block-backend.c |  82 +++++++++++++++++++++++
 util/aio-wait.c            |  40 +++++++++++
 tests/Makefile.include     |   2 +
 tests/qemu-iotests/033     |  29 ++++++++
 tests/qemu-iotests/033.out |  13 ++++
 util/Makefile.objs         |   2 +-
 47 files changed, 973 insertions(+), 606 deletions(-)
 create mode 100644 include/block/aio-wait.h
 create mode 100644 tests/test-block-backend.c
 create mode 100644 util/aio-wait.c

Comments

Peter Maydell March 5, 2018, 1:27 p.m. UTC | #1
On 2 March 2018 at 18:54, Kevin Wolf <kwolf@redhat.com> wrote:
> The following changes since commit 86f4c7e05b1c44dbe1b329a51f311f10aef6ff34:
>
>   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180302' into staging (2018-03-02 14:37:10 +0000)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 9d9b4b640f9e583ff4b24dc762630945f3ccc16d:
>
>   Merge remote-tracking branch 'mreitz/tags/pull-block-2018-03-02' into queue-block (2018-03-02 18:45:03 +0100)
>
> ----------------------------------------------------------------
> Block layer patches
>

This gives me a clang sanitizer error while running 'make check':

e104462:xenial:clang$ UBSAN_OPTIONS=print_stacktrace=1
QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i386
QTEST_QEMU_IMG=qemu-img tests/ide-test
/i386/ide/identify: OK
/i386/ide/flush: OK
/i386/ide/bmdma/setup: OK
/i386/ide/bmdma/simple_rw: OK
/i386/ide/bmdma/trim: OK
/i386/ide/bmdma/short_prdt: OK
/i386/ide/bmdma/one_sector_short_prdt: OK
/i386/ide/bmdma/long_prdt: OK
/i386/ide/bmdma/no_busmaster: OK
/i386/ide/bmdma/teardown: OK
/i386/ide/flush/nodev: OK
/i386/ide/flush/empty_drive:
/home/petmay01/linaro/qemu-for-merges/block.c:3926:16: runtime error:
member access within null pointer of type 'const BlockDriverState'
(aka 'const struct BlockDriverState')
    #0 0x5560b5776f48 in bdrv_get_node_name
/home/petmay01/linaro/qemu-for-merges/block.c:3926:16
    #1 0x5560b587fc92 in send_qmp_error_event
/home/petmay01/linaro/qemu-for-merges/block/block-backend.c:1621:36
    #2 0x5560b587fc92 in blk_error_action
/home/petmay01/linaro/qemu-for-merges/block/block-backend.c:1655
    #3 0x5560b52619e6 in ide_handle_rw_error
/home/petmay01/linaro/qemu-for-merges/hw/ide/core.c:836:5
    #4 0x5560b5278d7b in ide_flush_cb
/home/petmay01/linaro/qemu-for-merges/hw/ide/core.c:1067:13
    #5 0x5560b58822ac in blk_aio_complete
/home/petmay01/linaro/qemu-for-merges/block/block-backend.c:1286:9
    #6 0x5560b5a04417 in aio_bh_poll
/home/petmay01/linaro/qemu-for-merges/util/async.c:118:13
    #7 0x5560b5a10cef in aio_dispatch
/home/petmay01/linaro/qemu-for-merges/util/aio-posix.c:436:5
    #8 0x5560b5a062fa in aio_ctx_dispatch
/home/petmay01/linaro/qemu-for-merges/util/async.c:261:5
    #9 0x7f9786667196 in g_main_context_dispatch
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a196)
    #10 0x5560b5a0dd08 in glib_pollfds_poll
/home/petmay01/linaro/qemu-for-merges/util/main-loop.c:214:9
    #11 0x5560b5a0dd08 in os_host_main_loop_wait
/home/petmay01/linaro/qemu-for-merges/util/main-loop.c:261
    #12 0x5560b5a0dd08 in main_loop_wait
/home/petmay01/linaro/qemu-for-merges/util/main-loop.c:515
    #13 0x5560b4fdebf2 in main_loop
/home/petmay01/linaro/qemu-for-merges/vl.c:1942:9
    #14 0x5560b4fdebf2 in main /home/petmay01/linaro/qemu-for-merges/vl.c:4772
    #15 0x7f97843ec82f in __libc_start_main
/build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291
    #16 0x5560b4b456c8 in _start
(/home/petmay01/linaro/qemu-for-merges/build/clang/i386-softmmu/qemu-system-i386+0xe5c6c8)

OK
/i386/ide/flush/retry_pci: OK
/i386/ide/flush/retry_isa: OK
/i386/ide/cdrom/pio: OK
/i386/ide/cdrom/pio_large: OK
/i386/ide/cdrom/dma: OK


thanks
-- PMM