mbox

[PULL,for-2.1,00/22] Block patches for 2.1.0-rc2

Message ID 1404995727-27471-1-git-send-email-kwolf@redhat.com
State New
Headers show

Pull-request

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

Message

Kevin Wolf July 10, 2014, 12:35 p.m. UTC
The following changes since commit 675879f6f3c9463e103735a4e41e9deb0bee9b39:

  Update version for v2.1.0-rc1 release (2014-07-08 16:53:59 +0100)

are available in the git repository at:

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

for you to fetch changes up to ccd3583aed26144b752ff48d11e2a0e551ddbe19:

  ide: Treat read/write beyond end as invalid (2014-07-10 12:55:39 +0200)

----------------------------------------------------------------
Block patches for 2.1.0-rc2

----------------------------------------------------------------
Andreas Färber (1):
      tests: Fix unterminated string output visitor enum human string

Kevin Wolf (7):
      block/backup: Fix hang for unaligned image size
      block: Fix bdrv_is_allocated() return value
      block: Make qiov match the request size until EOF
      qcow2: Make qiov match request size until backing file EOF
      qed: Make qiov match request size until backing file EOF
      block: Assert qiov length matches request length
      dma-helpers: Fix too long qiov

Markus Armbruster (4):
      virtio-blk: Factor common checks out of virtio_blk_handle_read/write()
      virtio-blk: Bypass error action and I/O accounting on invalid r/w
      virtio-blk: Treat read/write beyond end as invalid
      ide: Treat read/write beyond end as invalid

Nikolay Nikolaev (1):
      qtest: fix vhost-user-test compilation with old GLib

Paolo Bonzini (5):
      block: prefer aio_poll to qemu_aio_wait
      block: drop aio functions that operate on the main AioContext
      test-aio: fix GSource-based timer test
      AioContext: speed up aio_notify
      AioContext: do not rely on aio_poll(ctx, true) result to end a loop

Stefan Hajnoczi (4):
      virtio-blk: avoid dataplane VirtIOBlockReq early free
      dataplane: do not free VirtQueueElement in vring_push()
      virtio-blk: avoid g_slice_new0() for VirtIOBlockReq and VirtQueueElement
      virtio-blk: embed VirtQueueElement in VirtIOBlockReq

 aio-posix.c                         |  38 ++++-
 aio-win32.c                         |   6 +-
 async.c                             |  19 ++-
 block.c                             |  17 ++-
 block/backup.c                      |   2 +-
 block/qcow2.c                       |  11 +-
 block/qed.c                         |  38 +++--
 block/qed.h                         |   1 +
 block/raw-posix.c                   |  15 +-
 blockjob.c                          |   2 +-
 dma-helpers.c                       |   4 +
 docs/aio_notify.promela             | 104 ++++++++++++++
 hw/block/dataplane/virtio-blk.c     |  30 ++--
 hw/block/virtio-blk.c               |  95 +++++++------
 hw/ide/core.c                       |  28 ++++
 hw/virtio/dataplane/vring.c         |  22 ++-
 include/block/aio.h                 |  32 ++---
 include/block/blockjob.h            |   4 +-
 include/block/coroutine.h           |   2 +-
 include/hw/virtio/dataplane/vring.h |   3 +-
 include/hw/virtio/virtio-blk.h      |   6 +-
 include/qemu-common.h               |   1 +
 iothread.c                          |   5 +-
 main-loop.c                         |  21 ---
 qemu-io-cmds.c                      |   4 +-
 tests/qemu-iotests/028              |  27 +++-
 tests/qemu-iotests/028.out          | 269 ++++++++++++++++++++++++++++++++++++
 tests/test-aio.c                    |  38 ++---
 tests/test-string-output-visitor.c  |   7 +-
 tests/test-thread-pool.c            |   4 +-
 tests/vhost-user-test.c             |   4 +
 util/iov.c                          |  13 ++
 32 files changed, 700 insertions(+), 172 deletions(-)
 create mode 100644 docs/aio_notify.promela

Comments

Peter Maydell July 11, 2014, 12:46 p.m. UTC | #1
On 10 July 2014 13:35, Kevin Wolf <kwolf@redhat.com> wrote:
> The following changes since commit 675879f6f3c9463e103735a4e41e9deb0bee9b39:
>
>   Update version for v2.1.0-rc1 release (2014-07-08 16:53:59 +0100)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to ccd3583aed26144b752ff48d11e2a0e551ddbe19:
>
>   ide: Treat read/write beyond end as invalid (2014-07-10 12:55:39 +0200)
>
> ----------------------------------------------------------------
> Block patches for 2.1.0-rc2

I'm afraid this fails 'make check' on my 32 bit ARM box:

TEST: tests/hd-geo-test... (pid=5395)
  /i386/hd-geo/ide/none:                                               OK
  /i386/hd-geo/ide/drive/mbr/blank:
qemu-system-i386: /root/qemu/block/raw-posix.c:1030: paio_submit:
Assertion `qiov->size == acb->aio_nbytes' failed.
Broken pipe
FAIL
GTester: last random seed: R02S10fb9de706ffe8751465b3da08786cf3
(pid=5400)
  /i386/hd-geo/ide/drive/mbr/lba:
qemu-system-i386: /root/qemu/block/raw-posix.c:1030: paio_submit:
Assertion `qiov->size == acb->aio_nbytes' failed.
Broken pipe
FAIL
GTester: last random seed: R02S88fb3c4a374bf0ffbe13ecc2b89cd471
(pid=5403)
  /i386/hd-geo/ide/drive/mbr/chs:
qemu-system-i386: /root/qemu/block/raw-posix.c:1030: paio_submit:
Assertion `qiov->size == acb->aio_nbytes' failed.
Broken pipe
FAIL

(and similarly with all the other hd-geo tests.)

I tried to get a backtrace but unfortunately it seems to be
pretty much impossible given the way the test case
starts QEMU as a separate process. I tried arranging
to attach gdb to that process but it dies with a SIGTERM
before actually doing anything interesting if I do that.

thanks
-- PMM
Peter Maydell July 11, 2014, 6:25 p.m. UTC | #2
On 11 July 2014 13:46, Peter Maydell <peter.maydell@linaro.org> wrote:
> I'm afraid this fails 'make check' on my 32 bit ARM box:
>
> TEST: tests/hd-geo-test... (pid=5395)
>   /i386/hd-geo/ide/none:                                               OK
>   /i386/hd-geo/ide/drive/mbr/blank:
> qemu-system-i386: /root/qemu/block/raw-posix.c:1030: paio_submit:
> Assertion `qiov->size == acb->aio_nbytes' failed.

Kevin: I have tested your patch (http://pastebin.com/VDPXZBvj)
and it does fix this assert. (I only tested the 32 bit ARM box
but I assume you've tested x86-64.)

thanks
-- PMM