qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/4] Block patches
@ 2015-04-09  9:55 Stefan Hajnoczi
  2015-04-09 12:03 ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Stefan Hajnoczi @ 2015-04-09  9:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit 5a24f20a7208a58fb80d78ca0521bba6f4d7b145:

  Merge remote-tracking branch 'remotes/mjt/tags/pull-trivial-patches-2015-04-04' into staging (2015-04-07 14:33:46 +0100)

are available in the git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to 05b685fbabb7fdcab72cb42b27db916fd74b2265:

  block/iscsi: handle zero events from iscsi_which_events (2015-04-09 10:31:45 +0100)

----------------------------------------------------------------

----------------------------------------------------------------

Kevin Wolf (1):
  qcow2: Fix header update with overridden backing file

Paolo Bonzini (2):
  virtio-blk: correctly dirty guest memory
  aio: strengthen memory barriers for bottom half scheduling

Peter Lieven (1):
  block/iscsi: handle zero events from iscsi_which_events

 async.c                         | 28 ++++++------
 block/iscsi.c                   | 33 +++++++++++---
 block/qcow2.c                   | 29 ++++++++++---
 block/qcow2.h                   |  6 +++
 hw/block/dataplane/virtio-blk.c |  3 +-
 hw/block/virtio-blk.c           | 13 +++++-
 include/hw/virtio/virtio-blk.h  |  1 +
 tests/qemu-iotests/130          | 95 +++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/130.out      | 43 +++++++++++++++++++
 tests/qemu-iotests/group        |  1 +
 10 files changed, 220 insertions(+), 32 deletions(-)
 create mode 100755 tests/qemu-iotests/130
 create mode 100644 tests/qemu-iotests/130.out

-- 
2.1.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2015-04-09  9:55 Stefan Hajnoczi
@ 2015-04-09 12:03 ` Peter Maydell
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Maydell @ 2015-04-09 12:03 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 9 April 2015 at 10:55, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 5a24f20a7208a58fb80d78ca0521bba6f4d7b145:
>
>   Merge remote-tracking branch 'remotes/mjt/tags/pull-trivial-patches-2015-04-04' into staging (2015-04-07 14:33:46 +0100)
>
> are available in the git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 05b685fbabb7fdcab72cb42b27db916fd74b2265:
>
>   block/iscsi: handle zero events from iscsi_which_events (2015-04-09 10:31:45 +0100)

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2016-07-15 17:59 Stefan Hajnoczi
  2016-07-15 17:59 ` [Qemu-devel] [PULL 1/4] spec/parallels: fix a mistake Stefan Hajnoczi
                   ` (4 more replies)
  0 siblings, 5 replies; 30+ messages in thread
From: Stefan Hajnoczi @ 2016-07-15 17:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit 14c7d99333e4a474c65bdae6f99aa8837e8078e6:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20160714' into staging (2016-07-14 17:32:53 +0100)

are available in the git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to 325e00006139a30a4c747cf35489ea5bee8da272:

  linux-aio: prevent submitting more than MAX_EVENTS (2016-07-15 12:45:47 +0100)

----------------------------------------------------------------

----------------------------------------------------------------

Cao jin (1):
  aio_ctx_check: follow CODING_STYLE

Paolo Bonzini (1):
  linux-aio: share one LinuxAioState within an AioContext

Roman Pen (1):
  linux-aio: prevent submitting more than MAX_EVENTS

Vladimir Sementsov-Ogievskiy (1):
  spec/parallels: fix a mistake

 async.c                  |  25 +++++++++-
 block/linux-aio.c        |  36 ++++++++------
 block/raw-aio.h          |  68 ---------------------------
 block/raw-posix.c        | 119 ++++++-----------------------------------------
 block/raw-win32.c        |   2 +-
 docs/specs/parallels.txt |   2 +-
 include/block/aio.h      |  13 ++++++
 include/block/raw-aio.h  |  68 +++++++++++++++++++++++++++
 8 files changed, 143 insertions(+), 190 deletions(-)
 delete mode 100644 block/raw-aio.h
 create mode 100644 include/block/raw-aio.h

-- 
2.7.4

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 1/4] spec/parallels: fix a mistake
  2016-07-15 17:59 [Qemu-devel] [PULL 0/4] Block patches Stefan Hajnoczi
@ 2016-07-15 17:59 ` Stefan Hajnoczi
  2016-07-15 17:59 ` [Qemu-devel] [PULL 2/4] linux-aio: share one LinuxAioState within an AioContext Stefan Hajnoczi
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 30+ messages in thread
From: Stefan Hajnoczi @ 2016-07-15 17:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Vladimir Sementsov-Ogievskiy, Denis V . Lunev,
	Stefan Hajnoczi

From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

We have only one flag for now - Empty Image flag. The patch fixes unused
bits specification and marks bit 1 as usused.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 docs/specs/parallels.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/specs/parallels.txt b/docs/specs/parallels.txt
index b4fe229..e9271eb 100644
--- a/docs/specs/parallels.txt
+++ b/docs/specs/parallels.txt
@@ -94,7 +94,7 @@ Bytes:
               Bit 0: Empty Image bit. If set, the image should be
                      considered clear.
 
-              Bits 2-31: Unused.
+              Bits 1-31: Unused.
 
   56 - 63:    ext_off
               Format Extension offset, an offset, in sectors, from the start of
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 2/4] linux-aio: share one LinuxAioState within an AioContext
  2016-07-15 17:59 [Qemu-devel] [PULL 0/4] Block patches Stefan Hajnoczi
  2016-07-15 17:59 ` [Qemu-devel] [PULL 1/4] spec/parallels: fix a mistake Stefan Hajnoczi
@ 2016-07-15 17:59 ` Stefan Hajnoczi
  2016-07-15 17:59 ` [Qemu-devel] [PULL 3/4] aio_ctx_check: follow CODING_STYLE Stefan Hajnoczi
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 30+ messages in thread
From: Stefan Hajnoczi @ 2016-07-15 17:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Paolo Bonzini, Stefan Hajnoczi

From: Paolo Bonzini <pbonzini@redhat.com>

This has better performance because it executes fewer system calls
and does not use a bottom half per disk.

Originally proposed by Ming Lei.

Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1467650000-51385-1-git-send-email-pbonzini@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 async.c                 |  23 ++++++++++
 block/linux-aio.c       |  10 ++--
 block/raw-aio.h         |  68 ---------------------------
 block/raw-posix.c       | 119 ++++++------------------------------------------
 block/raw-win32.c       |   2 +-
 include/block/aio.h     |  13 ++++++
 include/block/raw-aio.h |  68 +++++++++++++++++++++++++++
 7 files changed, 125 insertions(+), 178 deletions(-)
 delete mode 100644 block/raw-aio.h
 create mode 100644 include/block/raw-aio.h

diff --git a/async.c b/async.c
index b4bf205..6caa98c 100644
--- a/async.c
+++ b/async.c
@@ -29,6 +29,7 @@
 #include "block/thread-pool.h"
 #include "qemu/main-loop.h"
 #include "qemu/atomic.h"
+#include "block/raw-aio.h"
 
 /***********************************************************/
 /* bottom halves (can be seen as timers which expire ASAP) */
@@ -242,6 +243,14 @@ aio_ctx_finalize(GSource     *source)
     qemu_bh_delete(ctx->notify_dummy_bh);
     thread_pool_free(ctx->thread_pool);
 
+#ifdef CONFIG_LINUX_AIO
+    if (ctx->linux_aio) {
+        laio_detach_aio_context(ctx->linux_aio, ctx);
+        laio_cleanup(ctx->linux_aio);
+        ctx->linux_aio = NULL;
+    }
+#endif
+
     qemu_mutex_lock(&ctx->bh_lock);
     while (ctx->first_bh) {
         QEMUBH *next = ctx->first_bh->next;
@@ -282,6 +291,17 @@ ThreadPool *aio_get_thread_pool(AioContext *ctx)
     return ctx->thread_pool;
 }
 
+#ifdef CONFIG_LINUX_AIO
+LinuxAioState *aio_get_linux_aio(AioContext *ctx)
+{
+    if (!ctx->linux_aio) {
+        ctx->linux_aio = laio_init();
+        laio_attach_aio_context(ctx->linux_aio, ctx);
+    }
+    return ctx->linux_aio;
+}
+#endif
+
 void aio_notify(AioContext *ctx)
 {
     /* Write e.g. bh->scheduled before reading ctx->notify_me.  Pairs
@@ -345,6 +365,9 @@ AioContext *aio_context_new(Error **errp)
                            false,
                            (EventNotifierHandler *)
                            event_notifier_dummy_cb);
+#ifdef CONFIG_LINUX_AIO
+    ctx->linux_aio = NULL;
+#endif
     ctx->thread_pool = NULL;
     qemu_mutex_init(&ctx->bh_lock);
     rfifolock_init(&ctx->lock, aio_rfifolock_cb, ctx);
diff --git a/block/linux-aio.c b/block/linux-aio.c
index 5c104bd..1d702a5 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -50,6 +50,8 @@ typedef struct {
 } LaioQueue;
 
 struct LinuxAioState {
+    AioContext *aio_context;
+
     io_context_t ctx;
     EventNotifier e;
 
@@ -227,15 +229,14 @@ static void ioq_submit(LinuxAioState *s)
 
 void laio_io_plug(BlockDriverState *bs, LinuxAioState *s)
 {
-    assert(!s->io_q.plugged);
-    s->io_q.plugged = 1;
+    s->io_q.plugged++;
 }
 
 void laio_io_unplug(BlockDriverState *bs, LinuxAioState *s)
 {
     assert(s->io_q.plugged);
-    s->io_q.plugged = 0;
-    if (!s->io_q.blocked && !QSIMPLEQ_EMPTY(&s->io_q.pending)) {
+    if (--s->io_q.plugged == 0 &&
+        !s->io_q.blocked && !QSIMPLEQ_EMPTY(&s->io_q.pending)) {
         ioq_submit(s);
     }
 }
@@ -325,6 +326,7 @@ void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context)
 
 void laio_attach_aio_context(LinuxAioState *s, AioContext *new_context)
 {
+    s->aio_context = new_context;
     s->completion_bh = aio_bh_new(new_context, qemu_laio_completion_bh, s);
     aio_set_event_notifier(new_context, &s->e, false,
                            qemu_laio_completion_cb);
diff --git a/block/raw-aio.h b/block/raw-aio.h
deleted file mode 100644
index a4cdbbf..0000000
--- a/block/raw-aio.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Declarations for AIO in the raw protocol
- *
- * Copyright IBM, Corp. 2008
- *
- * Authors:
- *  Anthony Liguori   <aliguori@us.ibm.com>
- *
- * This work is licensed under the terms of the GNU GPL, version 2.  See
- * the COPYING file in the top-level directory.
- *
- * Contributions after 2012-01-13 are licensed under the terms of the
- * GNU GPL, version 2 or (at your option) any later version.
- */
-#ifndef QEMU_RAW_AIO_H
-#define QEMU_RAW_AIO_H
-
-#include "qemu/coroutine.h"
-#include "qemu/iov.h"
-
-/* AIO request types */
-#define QEMU_AIO_READ         0x0001
-#define QEMU_AIO_WRITE        0x0002
-#define QEMU_AIO_IOCTL        0x0004
-#define QEMU_AIO_FLUSH        0x0008
-#define QEMU_AIO_DISCARD      0x0010
-#define QEMU_AIO_WRITE_ZEROES 0x0020
-#define QEMU_AIO_TYPE_MASK \
-        (QEMU_AIO_READ|QEMU_AIO_WRITE|QEMU_AIO_IOCTL|QEMU_AIO_FLUSH| \
-         QEMU_AIO_DISCARD|QEMU_AIO_WRITE_ZEROES)
-
-/* AIO flags */
-#define QEMU_AIO_MISALIGNED   0x1000
-#define QEMU_AIO_BLKDEV       0x2000
-
-
-/* linux-aio.c - Linux native implementation */
-#ifdef CONFIG_LINUX_AIO
-typedef struct LinuxAioState LinuxAioState;
-LinuxAioState *laio_init(void);
-void laio_cleanup(LinuxAioState *s);
-int coroutine_fn laio_co_submit(BlockDriverState *bs, LinuxAioState *s, int fd,
-                                uint64_t offset, QEMUIOVector *qiov, int type);
-BlockAIOCB *laio_submit(BlockDriverState *bs, LinuxAioState *s, int fd,
-        int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,
-        BlockCompletionFunc *cb, void *opaque, int type);
-void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context);
-void laio_attach_aio_context(LinuxAioState *s, AioContext *new_context);
-void laio_io_plug(BlockDriverState *bs, LinuxAioState *s);
-void laio_io_unplug(BlockDriverState *bs, LinuxAioState *s);
-#endif
-
-#ifdef _WIN32
-typedef struct QEMUWin32AIOState QEMUWin32AIOState;
-QEMUWin32AIOState *win32_aio_init(void);
-void win32_aio_cleanup(QEMUWin32AIOState *aio);
-int win32_aio_attach(QEMUWin32AIOState *aio, HANDLE hfile);
-BlockAIOCB *win32_aio_submit(BlockDriverState *bs,
-        QEMUWin32AIOState *aio, HANDLE hfile,
-        int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,
-        BlockCompletionFunc *cb, void *opaque, int type);
-void win32_aio_detach_aio_context(QEMUWin32AIOState *aio,
-                                  AioContext *old_context);
-void win32_aio_attach_aio_context(QEMUWin32AIOState *aio,
-                                  AioContext *new_context);
-#endif
-
-#endif /* QEMU_RAW_AIO_H */
diff --git a/block/raw-posix.c b/block/raw-posix.c
index d1c3bd8..20f4d7a 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -32,7 +32,7 @@
 #include "trace.h"
 #include "block/thread-pool.h"
 #include "qemu/iov.h"
-#include "raw-aio.h"
+#include "block/raw-aio.h"
 #include "qapi/util.h"
 #include "qapi/qmp/qstring.h"
 
@@ -137,10 +137,6 @@ typedef struct BDRVRawState {
     int open_flags;
     size_t buf_align;
 
-#ifdef CONFIG_LINUX_AIO
-    int use_aio;
-    LinuxAioState *aio_ctx;
-#endif
 #ifdef CONFIG_XFS
     bool is_xfs:1;
 #endif
@@ -154,9 +150,6 @@ typedef struct BDRVRawState {
 typedef struct BDRVRawReopenState {
     int fd;
     int open_flags;
-#ifdef CONFIG_LINUX_AIO
-    int use_aio;
-#endif
 } BDRVRawReopenState;
 
 static int fd_open(BlockDriverState *bs);
@@ -374,58 +367,15 @@ static void raw_parse_flags(int bdrv_flags, int *open_flags)
     }
 }
 
-static void raw_detach_aio_context(BlockDriverState *bs)
-{
-#ifdef CONFIG_LINUX_AIO
-    BDRVRawState *s = bs->opaque;
-
-    if (s->use_aio) {
-        laio_detach_aio_context(s->aio_ctx, bdrv_get_aio_context(bs));
-    }
-#endif
-}
-
-static void raw_attach_aio_context(BlockDriverState *bs,
-                                   AioContext *new_context)
-{
-#ifdef CONFIG_LINUX_AIO
-    BDRVRawState *s = bs->opaque;
-
-    if (s->use_aio) {
-        laio_attach_aio_context(s->aio_ctx, new_context);
-    }
-#endif
-}
-
 #ifdef CONFIG_LINUX_AIO
-static int raw_set_aio(LinuxAioState **aio_ctx, int *use_aio, int bdrv_flags)
+static bool raw_use_aio(int bdrv_flags)
 {
-    int ret = -1;
-    assert(aio_ctx != NULL);
-    assert(use_aio != NULL);
     /*
      * Currently Linux do AIO only for files opened with O_DIRECT
      * specified so check NOCACHE flag too
      */
-    if ((bdrv_flags & (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO)) ==
-                      (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO)) {
-
-        /* if non-NULL, laio_init() has already been run */
-        if (*aio_ctx == NULL) {
-            *aio_ctx = laio_init();
-            if (!*aio_ctx) {
-                goto error;
-            }
-        }
-        *use_aio = 1;
-    } else {
-        *use_aio = 0;
-    }
-
-    ret = 0;
-
-error:
-    return ret;
+    return (bdrv_flags & (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO)) ==
+                         (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO);
 }
 #endif
 
@@ -494,13 +444,7 @@ static int raw_open_common(BlockDriverState *bs, QDict *options,
     s->fd = fd;
 
 #ifdef CONFIG_LINUX_AIO
-    if (raw_set_aio(&s->aio_ctx, &s->use_aio, bdrv_flags)) {
-        qemu_close(fd);
-        ret = -errno;
-        error_setg_errno(errp, -ret, "Could not set AIO state");
-        goto fail;
-    }
-    if (!s->use_aio && (bdrv_flags & BDRV_O_NATIVE_AIO)) {
+    if (!raw_use_aio(bdrv_flags) && (bdrv_flags & BDRV_O_NATIVE_AIO)) {
         error_setg(errp, "aio=native was specified, but it requires "
                          "cache.direct=on, which was not specified.");
         ret = -EINVAL;
@@ -567,8 +511,6 @@ static int raw_open_common(BlockDriverState *bs, QDict *options,
     }
 #endif
 
-    raw_attach_aio_context(bs, bdrv_get_aio_context(bs));
-
     ret = 0;
 fail:
     if (filename && (bdrv_flags & BDRV_O_TEMPORARY)) {
@@ -603,18 +545,6 @@ static int raw_reopen_prepare(BDRVReopenState *state,
     state->opaque = g_new0(BDRVRawReopenState, 1);
     raw_s = state->opaque;
 
-#ifdef CONFIG_LINUX_AIO
-    raw_s->use_aio = s->use_aio;
-
-    /* we can use s->aio_ctx instead of a copy, because the use_aio flag is
-     * valid in the 'false' condition even if aio_ctx is set, and raw_set_aio()
-     * won't override aio_ctx if aio_ctx is non-NULL */
-    if (raw_set_aio(&s->aio_ctx, &raw_s->use_aio, state->flags)) {
-        error_setg(errp, "Could not set AIO state");
-        return -1;
-    }
-#endif
-
     if (s->type == FTYPE_CD) {
         raw_s->open_flags |= O_NONBLOCK;
     }
@@ -689,9 +619,6 @@ static void raw_reopen_commit(BDRVReopenState *state)
 
     qemu_close(s->fd);
     s->fd = raw_s->fd;
-#ifdef CONFIG_LINUX_AIO
-    s->use_aio = raw_s->use_aio;
-#endif
 
     g_free(state->opaque);
     state->opaque = NULL;
@@ -1329,9 +1256,10 @@ static int coroutine_fn raw_co_prw(BlockDriverState *bs, uint64_t offset,
         if (!bdrv_qiov_is_aligned(bs, qiov)) {
             type |= QEMU_AIO_MISALIGNED;
 #ifdef CONFIG_LINUX_AIO
-        } else if (s->use_aio) {
+        } else if (bs->open_flags & BDRV_O_NATIVE_AIO) {
+            LinuxAioState *aio = aio_get_linux_aio(bdrv_get_aio_context(bs));
             assert(qiov->size == bytes);
-            return laio_co_submit(bs, s->aio_ctx, s->fd, offset, qiov, type);
+            return laio_co_submit(bs, aio, s->fd, offset, qiov, type);
 #endif
         }
     }
@@ -1357,9 +1285,9 @@ static int coroutine_fn raw_co_pwritev(BlockDriverState *bs, uint64_t offset,
 static void raw_aio_plug(BlockDriverState *bs)
 {
 #ifdef CONFIG_LINUX_AIO
-    BDRVRawState *s = bs->opaque;
-    if (s->use_aio) {
-        laio_io_plug(bs, s->aio_ctx);
+    if (bs->open_flags & BDRV_O_NATIVE_AIO) {
+        LinuxAioState *aio = aio_get_linux_aio(bdrv_get_aio_context(bs));
+        laio_io_plug(bs, aio);
     }
 #endif
 }
@@ -1367,9 +1295,9 @@ static void raw_aio_plug(BlockDriverState *bs)
 static void raw_aio_unplug(BlockDriverState *bs)
 {
 #ifdef CONFIG_LINUX_AIO
-    BDRVRawState *s = bs->opaque;
-    if (s->use_aio) {
-        laio_io_unplug(bs, s->aio_ctx);
+    if (bs->open_flags & BDRV_O_NATIVE_AIO) {
+        LinuxAioState *aio = aio_get_linux_aio(bdrv_get_aio_context(bs));
+        laio_io_unplug(bs, aio);
     }
 #endif
 }
@@ -1389,13 +1317,6 @@ static void raw_close(BlockDriverState *bs)
 {
     BDRVRawState *s = bs->opaque;
 
-    raw_detach_aio_context(bs);
-
-#ifdef CONFIG_LINUX_AIO
-    if (s->use_aio) {
-        laio_cleanup(s->aio_ctx);
-    }
-#endif
     if (s->fd >= 0) {
         qemu_close(s->fd);
         s->fd = -1;
@@ -1954,9 +1875,6 @@ BlockDriver bdrv_file = {
     .bdrv_get_allocated_file_size
                         = raw_get_allocated_file_size,
 
-    .bdrv_detach_aio_context = raw_detach_aio_context,
-    .bdrv_attach_aio_context = raw_attach_aio_context,
-
     .create_opts = &raw_create_opts,
 };
 
@@ -2402,9 +2320,6 @@ static BlockDriver bdrv_host_device = {
     .bdrv_probe_blocksizes = hdev_probe_blocksizes,
     .bdrv_probe_geometry = hdev_probe_geometry,
 
-    .bdrv_detach_aio_context = raw_detach_aio_context,
-    .bdrv_attach_aio_context = raw_attach_aio_context,
-
     /* generic scsi device */
 #ifdef __linux__
     .bdrv_aio_ioctl     = hdev_aio_ioctl,
@@ -2524,9 +2439,6 @@ static BlockDriver bdrv_host_cdrom = {
     .bdrv_get_allocated_file_size
                         = raw_get_allocated_file_size,
 
-    .bdrv_detach_aio_context = raw_detach_aio_context,
-    .bdrv_attach_aio_context = raw_attach_aio_context,
-
     /* removable device support */
     .bdrv_is_inserted   = cdrom_is_inserted,
     .bdrv_eject         = cdrom_eject,
@@ -2657,9 +2569,6 @@ static BlockDriver bdrv_host_cdrom = {
     .bdrv_get_allocated_file_size
                         = raw_get_allocated_file_size,
 
-    .bdrv_detach_aio_context = raw_detach_aio_context,
-    .bdrv_attach_aio_context = raw_attach_aio_context,
-
     /* removable device support */
     .bdrv_is_inserted   = cdrom_is_inserted,
     .bdrv_eject         = cdrom_eject,
diff --git a/block/raw-win32.c b/block/raw-win32.c
index 62edb1a..9b813d9 100644
--- a/block/raw-win32.c
+++ b/block/raw-win32.c
@@ -27,7 +27,7 @@
 #include "qemu/timer.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
-#include "raw-aio.h"
+#include "block/raw-aio.h"
 #include "trace.h"
 #include "block/thread-pool.h"
 #include "qemu/iov.h"
diff --git a/include/block/aio.h b/include/block/aio.h
index 88a64ee..afd72a7 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -47,6 +47,9 @@ typedef struct AioHandler AioHandler;
 typedef void QEMUBHFunc(void *opaque);
 typedef void IOHandler(void *opaque);
 
+struct ThreadPool;
+struct LinuxAioState;
+
 struct AioContext {
     GSource source;
 
@@ -119,6 +122,13 @@ struct AioContext {
     /* Thread pool for performing work and receiving completion callbacks */
     struct ThreadPool *thread_pool;
 
+#ifdef CONFIG_LINUX_AIO
+    /* State for native Linux AIO.  Uses aio_context_acquire/release for
+     * locking.
+     */
+    struct LinuxAioState *linux_aio;
+#endif
+
     /* TimerLists for calling timers - one per clock type */
     QEMUTimerListGroup tlg;
 
@@ -335,6 +345,9 @@ GSource *aio_get_g_source(AioContext *ctx);
 /* Return the ThreadPool bound to this AioContext */
 struct ThreadPool *aio_get_thread_pool(AioContext *ctx);
 
+/* Return the LinuxAioState bound to this AioContext */
+struct LinuxAioState *aio_get_linux_aio(AioContext *ctx);
+
 /**
  * aio_timer_new:
  * @ctx: the aio context
diff --git a/include/block/raw-aio.h b/include/block/raw-aio.h
new file mode 100644
index 0000000..a4cdbbf
--- /dev/null
+++ b/include/block/raw-aio.h
@@ -0,0 +1,68 @@
+/*
+ * Declarations for AIO in the raw protocol
+ *
+ * Copyright IBM, Corp. 2008
+ *
+ * Authors:
+ *  Anthony Liguori   <aliguori@us.ibm.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2.  See
+ * the COPYING file in the top-level directory.
+ *
+ * Contributions after 2012-01-13 are licensed under the terms of the
+ * GNU GPL, version 2 or (at your option) any later version.
+ */
+#ifndef QEMU_RAW_AIO_H
+#define QEMU_RAW_AIO_H
+
+#include "qemu/coroutine.h"
+#include "qemu/iov.h"
+
+/* AIO request types */
+#define QEMU_AIO_READ         0x0001
+#define QEMU_AIO_WRITE        0x0002
+#define QEMU_AIO_IOCTL        0x0004
+#define QEMU_AIO_FLUSH        0x0008
+#define QEMU_AIO_DISCARD      0x0010
+#define QEMU_AIO_WRITE_ZEROES 0x0020
+#define QEMU_AIO_TYPE_MASK \
+        (QEMU_AIO_READ|QEMU_AIO_WRITE|QEMU_AIO_IOCTL|QEMU_AIO_FLUSH| \
+         QEMU_AIO_DISCARD|QEMU_AIO_WRITE_ZEROES)
+
+/* AIO flags */
+#define QEMU_AIO_MISALIGNED   0x1000
+#define QEMU_AIO_BLKDEV       0x2000
+
+
+/* linux-aio.c - Linux native implementation */
+#ifdef CONFIG_LINUX_AIO
+typedef struct LinuxAioState LinuxAioState;
+LinuxAioState *laio_init(void);
+void laio_cleanup(LinuxAioState *s);
+int coroutine_fn laio_co_submit(BlockDriverState *bs, LinuxAioState *s, int fd,
+                                uint64_t offset, QEMUIOVector *qiov, int type);
+BlockAIOCB *laio_submit(BlockDriverState *bs, LinuxAioState *s, int fd,
+        int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,
+        BlockCompletionFunc *cb, void *opaque, int type);
+void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context);
+void laio_attach_aio_context(LinuxAioState *s, AioContext *new_context);
+void laio_io_plug(BlockDriverState *bs, LinuxAioState *s);
+void laio_io_unplug(BlockDriverState *bs, LinuxAioState *s);
+#endif
+
+#ifdef _WIN32
+typedef struct QEMUWin32AIOState QEMUWin32AIOState;
+QEMUWin32AIOState *win32_aio_init(void);
+void win32_aio_cleanup(QEMUWin32AIOState *aio);
+int win32_aio_attach(QEMUWin32AIOState *aio, HANDLE hfile);
+BlockAIOCB *win32_aio_submit(BlockDriverState *bs,
+        QEMUWin32AIOState *aio, HANDLE hfile,
+        int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,
+        BlockCompletionFunc *cb, void *opaque, int type);
+void win32_aio_detach_aio_context(QEMUWin32AIOState *aio,
+                                  AioContext *old_context);
+void win32_aio_attach_aio_context(QEMUWin32AIOState *aio,
+                                  AioContext *new_context);
+#endif
+
+#endif /* QEMU_RAW_AIO_H */
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 3/4] aio_ctx_check: follow CODING_STYLE
  2016-07-15 17:59 [Qemu-devel] [PULL 0/4] Block patches Stefan Hajnoczi
  2016-07-15 17:59 ` [Qemu-devel] [PULL 1/4] spec/parallels: fix a mistake Stefan Hajnoczi
  2016-07-15 17:59 ` [Qemu-devel] [PULL 2/4] linux-aio: share one LinuxAioState within an AioContext Stefan Hajnoczi
@ 2016-07-15 17:59 ` Stefan Hajnoczi
  2016-07-15 17:59 ` [Qemu-devel] [PULL 4/4] linux-aio: prevent submitting more than MAX_EVENTS Stefan Hajnoczi
  2016-07-18 10:23 ` [Qemu-devel] [PULL 0/4] Block patches Peter Maydell
  4 siblings, 0 replies; 30+ messages in thread
From: Stefan Hajnoczi @ 2016-07-15 17:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Cao jin, Stefan Hajnoczi

From: Cao jin <caoj.fnst@cn.fujitsu.com>

replace tab with spaces

Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
Message-id: 1468501843-14927-1-git-send-email-caoj.fnst@cn.fujitsu.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 async.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/async.c b/async.c
index 6caa98c..0e0efc3 100644
--- a/async.c
+++ b/async.c
@@ -218,7 +218,7 @@ aio_ctx_check(GSource *source)
     for (bh = ctx->first_bh; bh; bh = bh->next) {
         if (!bh->deleted && bh->scheduled) {
             return true;
-	}
+        }
     }
     return aio_pending(ctx) || (timerlistgroup_deadline_ns(&ctx->tlg) == 0);
 }
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 4/4] linux-aio: prevent submitting more than MAX_EVENTS
  2016-07-15 17:59 [Qemu-devel] [PULL 0/4] Block patches Stefan Hajnoczi
                   ` (2 preceding siblings ...)
  2016-07-15 17:59 ` [Qemu-devel] [PULL 3/4] aio_ctx_check: follow CODING_STYLE Stefan Hajnoczi
@ 2016-07-15 17:59 ` Stefan Hajnoczi
  2016-07-18 10:23 ` [Qemu-devel] [PULL 0/4] Block patches Peter Maydell
  4 siblings, 0 replies; 30+ messages in thread
From: Stefan Hajnoczi @ 2016-07-15 17:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Roman Pen, Stefan Hajnoczi

From: Roman Pen <roman.penyaev@profitbricks.com>

Invoking io_setup(MAX_EVENTS) we ask kernel to create ring buffer for us
with specified number of events.  But kernel ring buffer allocation logic
is a bit tricky (ring buffer is page size aligned + some percpu allocation
are required) so eventually more than requested events number is allocated.

>From a userspace side we have to follow the convention and should not try
to io_submit() more or logic, which consumes completed events, should be
changed accordingly.  The pitfall is in the following sequence:

    MAX_EVENTS = 128
    io_setup(MAX_EVENTS)

    io_submit(MAX_EVENTS)
    io_submit(MAX_EVENTS)

    /* now 256 events are in-flight */

    io_getevents(MAX_EVENTS) = 128

    /* we can handle only 128 events at once, to be sure
     * that nothing is pended the io_getevents(MAX_EVENTS)
     * call must be invoked once more or hang will happen. */

To prevent the hang or reiteration of io_getevents() call this patch
restricts the number of in-flights, which is now limited to MAX_EVENTS.

Signed-off-by: Roman Pen <roman.penyaev@profitbricks.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1468415004-31755-1-git-send-email-roman.penyaev@profitbricks.com
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/linux-aio.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/block/linux-aio.c b/block/linux-aio.c
index 1d702a5..de3548f 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -28,8 +28,6 @@
  */
 #define MAX_EVENTS 128
 
-#define MAX_QUEUED_IO  128
-
 struct qemu_laiocb {
     BlockAIOCB common;
     Coroutine *co;
@@ -44,7 +42,8 @@ struct qemu_laiocb {
 
 typedef struct {
     int plugged;
-    unsigned int n;
+    unsigned int in_queue;
+    unsigned int in_flight;
     bool blocked;
     QSIMPLEQ_HEAD(, qemu_laiocb) pending;
 } LaioQueue;
@@ -131,6 +130,7 @@ static void qemu_laio_completion_bh(void *opaque)
             s->event_max = 0;
             return; /* no more events */
         }
+        s->io_q.in_flight -= s->event_max;
     }
 
     /* Reschedule so nested event loops see currently pending completions */
@@ -192,7 +192,8 @@ static void ioq_init(LaioQueue *io_q)
 {
     QSIMPLEQ_INIT(&io_q->pending);
     io_q->plugged = 0;
-    io_q->n = 0;
+    io_q->in_queue = 0;
+    io_q->in_flight = 0;
     io_q->blocked = false;
 }
 
@@ -200,14 +201,17 @@ static void ioq_submit(LinuxAioState *s)
 {
     int ret, len;
     struct qemu_laiocb *aiocb;
-    struct iocb *iocbs[MAX_QUEUED_IO];
+    struct iocb *iocbs[MAX_EVENTS];
     QSIMPLEQ_HEAD(, qemu_laiocb) completed;
 
     do {
+        if (s->io_q.in_flight >= MAX_EVENTS) {
+            break;
+        }
         len = 0;
         QSIMPLEQ_FOREACH(aiocb, &s->io_q.pending, next) {
             iocbs[len++] = &aiocb->iocb;
-            if (len == MAX_QUEUED_IO) {
+            if (s->io_q.in_flight + len >= MAX_EVENTS) {
                 break;
             }
         }
@@ -220,11 +224,12 @@ static void ioq_submit(LinuxAioState *s)
             abort();
         }
 
-        s->io_q.n -= ret;
+        s->io_q.in_flight += ret;
+        s->io_q.in_queue  -= ret;
         aiocb = container_of(iocbs[ret - 1], struct qemu_laiocb, iocb);
         QSIMPLEQ_SPLIT_AFTER(&s->io_q.pending, aiocb, next, &completed);
     } while (ret == len && !QSIMPLEQ_EMPTY(&s->io_q.pending));
-    s->io_q.blocked = (s->io_q.n > 0);
+    s->io_q.blocked = (s->io_q.in_queue > 0);
 }
 
 void laio_io_plug(BlockDriverState *bs, LinuxAioState *s)
@@ -264,9 +269,10 @@ static int laio_do_submit(int fd, struct qemu_laiocb *laiocb, off_t offset,
     io_set_eventfd(&laiocb->iocb, event_notifier_get_fd(&s->e));
 
     QSIMPLEQ_INSERT_TAIL(&s->io_q.pending, laiocb, next);
-    s->io_q.n++;
+    s->io_q.in_queue++;
     if (!s->io_q.blocked &&
-        (!s->io_q.plugged || s->io_q.n >= MAX_QUEUED_IO)) {
+        (!s->io_q.plugged ||
+         s->io_q.in_flight + s->io_q.in_queue >= MAX_EVENTS)) {
         ioq_submit(s);
     }
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-15 17:59 [Qemu-devel] [PULL 0/4] Block patches Stefan Hajnoczi
                   ` (3 preceding siblings ...)
  2016-07-15 17:59 ` [Qemu-devel] [PULL 4/4] linux-aio: prevent submitting more than MAX_EVENTS Stefan Hajnoczi
@ 2016-07-18 10:23 ` Peter Maydell
  2016-07-18 14:57   ` Paolo Bonzini
  4 siblings, 1 reply; 30+ messages in thread
From: Peter Maydell @ 2016-07-18 10:23 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 15 July 2016 at 18:59, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 14c7d99333e4a474c65bdae6f99aa8837e8078e6:
>
>   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20160714' into staging (2016-07-14 17:32:53 +0100)
>
> are available in the git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 325e00006139a30a4c747cf35489ea5bee8da272:
>
>   linux-aio: prevent submitting more than MAX_EVENTS (2016-07-15 12:45:47 +0100)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------

I'm afraid this fails to build for w32:

/home/petmay01/linaro/qemu-for-merges/block/win32-aio.c:30:21: fatal
error: raw-aio.h: No such file or directory
 #include "raw-aio.h"
                     ^
compilation terminated.

Looks like that should be "block/raw-aio.h".

thanks
-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-18 10:23 ` [Qemu-devel] [PULL 0/4] Block patches Peter Maydell
@ 2016-07-18 14:57   ` Paolo Bonzini
  2016-07-18 14:58     ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Paolo Bonzini @ 2016-07-18 14:57 UTC (permalink / raw)
  To: Peter Maydell, Stefan Hajnoczi; +Cc: QEMU Developers



On 18/07/2016 12:23, Peter Maydell wrote:
> I'm afraid this fails to build for w32:
> 
> /home/petmay01/linaro/qemu-for-merges/block/win32-aio.c:30:21: fatal
> error: raw-aio.h: No such file or directory
>  #include "raw-aio.h"
>                      ^
> compilation terminated.
> 
> Looks like that should be "block/raw-aio.h".

But that's in the patch:

diff --git a/block/raw-win32.c b/block/raw-win32.c
index 62edb1a..9b813d9 100644
--- a/block/raw-win32.c
+++ b/block/raw-win32.c
@@ -27,7 +27,7 @@
 #include "qemu/timer.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
-#include "raw-aio.h"
+#include "block/raw-aio.h"
 #include "trace.h"
 #include "block/thread-pool.h"
 #include "qemu/iov.h"

Did you get a conflict, or did git screw up some resolution?

Paolo

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-18 14:57   ` Paolo Bonzini
@ 2016-07-18 14:58     ` Peter Maydell
  2016-07-19  8:58       ` Stefan Hajnoczi
  0 siblings, 1 reply; 30+ messages in thread
From: Peter Maydell @ 2016-07-18 14:58 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Stefan Hajnoczi, QEMU Developers

On 18 July 2016 at 15:57, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
> On 18/07/2016 12:23, Peter Maydell wrote:
>> I'm afraid this fails to build for w32:
>>
>> /home/petmay01/linaro/qemu-for-merges/block/win32-aio.c:30:21: fatal
>> error: raw-aio.h: No such file or directory
>>  #include "raw-aio.h"
>>                      ^
>> compilation terminated.
>>
>> Looks like that should be "block/raw-aio.h".
>
> But that's in the patch:
>
> diff --git a/block/raw-win32.c b/block/raw-win32.c

This is not the .c file which is mentioned in the above
compiler error message :-)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-18 14:58     ` Peter Maydell
@ 2016-07-19  8:58       ` Stefan Hajnoczi
  0 siblings, 0 replies; 30+ messages in thread
From: Stefan Hajnoczi @ 2016-07-19  8:58 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 782 bytes --]

On Mon, Jul 18, 2016 at 03:58:29PM +0100, Peter Maydell wrote:
> On 18 July 2016 at 15:57, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> >
> > On 18/07/2016 12:23, Peter Maydell wrote:
> >> I'm afraid this fails to build for w32:
> >>
> >> /home/petmay01/linaro/qemu-for-merges/block/win32-aio.c:30:21: fatal
> >> error: raw-aio.h: No such file or directory
> >>  #include "raw-aio.h"
> >>                      ^
> >> compilation terminated.
> >>
> >> Looks like that should be "block/raw-aio.h".
> >
> > But that's in the patch:
> >
> > diff --git a/block/raw-win32.c b/block/raw-win32.c
> 
> This is not the .c file which is mentioned in the above
> compiler error message :-)

I resolved the issue yesterday and sent a new block pull request.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2016-07-19 22:47 Max Reitz
  2016-07-20 16:05 ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Max Reitz @ 2016-07-19 22:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: Max Reitz, Peter Maydell

The following changes since commit 5d3217340adcb6c4f0e4af5d2b865331eb2ff63d:

  disas: Fix ATTRIBUTE_UNUSED define clash with ALSA headers (2016-07-19 16:40:39 +0100)

are available in the git repository at:

  git://github.com/XanClic/qemu.git tags/pull-block-2016-07-20

for you to fetch changes up to bafea5b7c26dd14895f7be64685a12645a75f4cf:

  block: export LUKS specific data to qemu-img info (2016-07-20 00:34:03 +0200)

----------------------------------------------------------------
Block patches for master

----------------------------------------------------------------
Cao jin (1):
      AioContext: correct comments

Daniel P. Berrange (2):
      crypto: add support for querying parameters for block encryption
      block: export LUKS specific data to qemu-img info

Vladimir Sementsov-Ogievskiy (1):
      qcow2: do not allocate extra memory

 block/crypto.c         | 49 ++++++++++++++++++++++++++++++++
 block/qcow.c           |  2 +-
 block/qcow2.c          |  2 +-
 crypto/block-luks.c    | 67 ++++++++++++++++++++++++++++++++++++++++++++
 crypto/block.c         | 17 +++++++++++
 crypto/blockpriv.h     |  4 +++
 include/block/aio.h    |  2 +-
 include/crypto/block.h | 16 +++++++++++
 qapi/block-core.json   |  6 +++-
 qapi/crypto.json       | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++
 10 files changed, 237 insertions(+), 4 deletions(-)

-- 
2.9.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-19 22:47 Max Reitz
@ 2016-07-20 16:05 ` Peter Maydell
  2016-07-20 21:16   ` Eric Blake
  0 siblings, 1 reply; 30+ messages in thread
From: Peter Maydell @ 2016-07-20 16:05 UTC (permalink / raw)
  To: Max Reitz; +Cc: QEMU Developers

On 19 July 2016 at 23:47, Max Reitz <mreitz@redhat.com> wrote:
> The following changes since commit 5d3217340adcb6c4f0e4af5d2b865331eb2ff63d:
>
>   disas: Fix ATTRIBUTE_UNUSED define clash with ALSA headers (2016-07-19 16:40:39 +0100)
>
> are available in the git repository at:
>
>   git://github.com/XanClic/qemu.git tags/pull-block-2016-07-20
>
> for you to fetch changes up to bafea5b7c26dd14895f7be64685a12645a75f4cf:
>
>   block: export LUKS specific data to qemu-img info (2016-07-20 00:34:03 +0200)
>
> ----------------------------------------------------------------
> Block patches for master
>
> ----------------------------------------------------------------

Fails to build on everything:

  GEN   qapi-visit.h
In file included from /Users/pm215/src/qemu-for-merges/qapi-schema.json:9:
/Users/pm215/src/qemu-for-merges/qapi/crypto.json:299: Union
'QCryptoBlockInfo' data missing 'qcow' branch


thanks
-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-20 16:05 ` Peter Maydell
@ 2016-07-20 21:16   ` Eric Blake
  2016-07-21 19:14     ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Eric Blake @ 2016-07-20 21:16 UTC (permalink / raw)
  To: Peter Maydell, Max Reitz; +Cc: QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 1461 bytes --]

On 07/20/2016 10:05 AM, Peter Maydell wrote:
> On 19 July 2016 at 23:47, Max Reitz <mreitz@redhat.com> wrote:
>> The following changes since commit 5d3217340adcb6c4f0e4af5d2b865331eb2ff63d:
>>
>>   disas: Fix ATTRIBUTE_UNUSED define clash with ALSA headers (2016-07-19 16:40:39 +0100)
>>
>> are available in the git repository at:
>>
>>   git://github.com/XanClic/qemu.git tags/pull-block-2016-07-20
>>
>> for you to fetch changes up to bafea5b7c26dd14895f7be64685a12645a75f4cf:
>>
>>   block: export LUKS specific data to qemu-img info (2016-07-20 00:34:03 +0200)
>>
>> ----------------------------------------------------------------
>> Block patches for master
>>
>> ----------------------------------------------------------------
> 
> Fails to build on everything:
> 
>   GEN   qapi-visit.h
> In file included from /Users/pm215/src/qemu-for-merges/qapi-schema.json:9:
> /Users/pm215/src/qemu-for-merges/qapi/crypto.json:299: Union
> 'QCryptoBlockInfo' data missing 'qcow' branch

Aha. Cause is two branches developed in parallel; commit d0b18239 forces
all branches of a flat union to be listed (to avoid an abort() if the
user passes a branch that was not listed); solution is to expand the
crypto.json addition to cover all branches, even if it means an empty
type for the branches that have no additional data.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-20 21:16   ` Eric Blake
@ 2016-07-21 19:14     ` Peter Maydell
  2016-07-22 12:41       ` Max Reitz
  0 siblings, 1 reply; 30+ messages in thread
From: Peter Maydell @ 2016-07-21 19:14 UTC (permalink / raw)
  To: Eric Blake; +Cc: Max Reitz, QEMU Developers

On 20 July 2016 at 22:16, Eric Blake <eblake@redhat.com> wrote:
> On 07/20/2016 10:05 AM, Peter Maydell wrote:
>> On 19 July 2016 at 23:47, Max Reitz <mreitz@redhat.com> wrote:
>>> The following changes since commit 5d3217340adcb6c4f0e4af5d2b865331eb2ff63d:
>>>
>>>   disas: Fix ATTRIBUTE_UNUSED define clash with ALSA headers (2016-07-19 16:40:39 +0100)
>>>
>>> are available in the git repository at:
>>>
>>>   git://github.com/XanClic/qemu.git tags/pull-block-2016-07-20
>>>
>>> for you to fetch changes up to bafea5b7c26dd14895f7be64685a12645a75f4cf:
>>>
>>>   block: export LUKS specific data to qemu-img info (2016-07-20 00:34:03 +0200)
>>>
>>> ----------------------------------------------------------------
>>> Block patches for master
>>>
>>> ----------------------------------------------------------------
>>
>> Fails to build on everything:
>>
>>   GEN   qapi-visit.h
>> In file included from /Users/pm215/src/qemu-for-merges/qapi-schema.json:9:
>> /Users/pm215/src/qemu-for-merges/qapi/crypto.json:299: Union
>> 'QCryptoBlockInfo' data missing 'qcow' branch
>
> Aha. Cause is two branches developed in parallel; commit d0b18239 forces
> all branches of a flat union to be listed (to avoid an abort() if the
> user passes a branch that was not listed); solution is to expand the
> crypto.json addition to cover all branches, even if it means an empty
> type for the branches that have no additional data.

I'm just processing the last other outstanding pullreq now,
so unless a respin of this arrives by tomorrow lunchtime UK
time it's going to miss rc0, I think.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2016-07-21 19:14     ` Peter Maydell
@ 2016-07-22 12:41       ` Max Reitz
  0 siblings, 0 replies; 30+ messages in thread
From: Max Reitz @ 2016-07-22 12:41 UTC (permalink / raw)
  To: Peter Maydell, Eric Blake; +Cc: QEMU Developers, Daniel P. Berrange

[-- Attachment #1: Type: text/plain, Size: 1929 bytes --]

On 21.07.2016 21:14, Peter Maydell wrote:
> On 20 July 2016 at 22:16, Eric Blake <eblake@redhat.com> wrote:
>> On 07/20/2016 10:05 AM, Peter Maydell wrote:
>>> On 19 July 2016 at 23:47, Max Reitz <mreitz@redhat.com> wrote:
>>>> The following changes since commit 5d3217340adcb6c4f0e4af5d2b865331eb2ff63d:
>>>>
>>>>   disas: Fix ATTRIBUTE_UNUSED define clash with ALSA headers (2016-07-19 16:40:39 +0100)
>>>>
>>>> are available in the git repository at:
>>>>
>>>>   git://github.com/XanClic/qemu.git tags/pull-block-2016-07-20
>>>>
>>>> for you to fetch changes up to bafea5b7c26dd14895f7be64685a12645a75f4cf:
>>>>
>>>>   block: export LUKS specific data to qemu-img info (2016-07-20 00:34:03 +0200)
>>>>
>>>> ----------------------------------------------------------------
>>>> Block patches for master
>>>>
>>>> ----------------------------------------------------------------
>>>
>>> Fails to build on everything:
>>>
>>>   GEN   qapi-visit.h
>>> In file included from /Users/pm215/src/qemu-for-merges/qapi-schema.json:9:
>>> /Users/pm215/src/qemu-for-merges/qapi/crypto.json:299: Union
>>> 'QCryptoBlockInfo' data missing 'qcow' branch
>>
>> Aha. Cause is two branches developed in parallel; commit d0b18239 forces
>> all branches of a flat union to be listed (to avoid an abort() if the
>> user passes a branch that was not listed); solution is to expand the
>> crypto.json addition to cover all branches, even if it means an empty
>> type for the branches that have no additional data.
> 
> I'm just processing the last other outstanding pullreq now,
> so unless a respin of this arrives by tomorrow lunchtime UK
> time it's going to miss rc0, I think.

Since there's nothing critical in this pull request, I'll drop the
crypto patches and keep the non-offending patches for the next pull
request (for rc1).

So no need to wait for another pull request from me for rc0.

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 498 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2017-02-27 16:34 Stefan Hajnoczi
  2017-02-28 10:38 ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Stefan Hajnoczi @ 2017-02-27 16:34 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit d992f2f1368ceb92e6bfd8efece174110f4236ff:

  Merge remote-tracking branch 'remotes/artyom/tags/pull-sun4v-20170226' into staging (2017-02-26 22:40:23 +0000)

are available in the git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to 1ab17f9f5c63c2798d707aeb22588e4fcc17b2cd:

  tests-aio-multithread: use atomic_read properly (2017-02-27 14:00:53 +0000)

----------------------------------------------------------------

----------------------------------------------------------------

Paolo Bonzini (4):
  curl: do not use aio_context_acquire/release
  nfs: do not use aio_context_acquire/release
  iscsi: do not use aio_context_acquire/release
  tests-aio-multithread: use atomic_read properly

 block/curl.c                 | 24 ++++++++-----
 block/iscsi.c                | 83 ++++++++++++++++++++++++++++++++++----------
 block/nfs.c                  | 23 +++++++++---
 tests/test-aio-multithread.c |  4 +--
 4 files changed, 100 insertions(+), 34 deletions(-)

-- 
2.9.3

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2017-02-27 16:34 Stefan Hajnoczi
@ 2017-02-28 10:38 ` Peter Maydell
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Maydell @ 2017-02-28 10:38 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 27 February 2017 at 16:34, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit d992f2f1368ceb92e6bfd8efece174110f4236ff:
>
>   Merge remote-tracking branch 'remotes/artyom/tags/pull-sun4v-20170226' into staging (2017-02-26 22:40:23 +0000)
>
> are available in the git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 1ab17f9f5c63c2798d707aeb22588e4fcc17b2cd:
>
>   tests-aio-multithread: use atomic_read properly (2017-02-27 14:00:53 +0000)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
>
> Paolo Bonzini (4):
>   curl: do not use aio_context_acquire/release
>   nfs: do not use aio_context_acquire/release
>   iscsi: do not use aio_context_acquire/release
>   tests-aio-multithread: use atomic_read properly

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2017-09-05 13:29 Stefan Hajnoczi
  2017-09-05 15:36 ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Stefan Hajnoczi @ 2017-09-05 13:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit 2b483739791b33c46e6084b51edcf62107058ae1:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170904-2' into staging (2017-09-04 17:21:24 +0100)

are available in the git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to b461151ff31c7925f271c297e8abed20231ac7d3:

  block: document semantics of bdrv_co_preadv|pwritev (2017-09-05 11:07:02 +0100)

----------------------------------------------------------------

----------------------------------------------------------------

Daniel P. Berrange (1):
  block: document semantics of bdrv_co_preadv|pwritev

Stefan Hajnoczi (3):
  qemu.py: make VM() a context manager
  iotests.py: add FilePath context manager
  qemu-iotests: use context managers for resource cleanup in 194

 include/block/block_int.h     |  31 +++++++++++
 scripts/qemu.py               |  16 +++++-
 tests/qemu-iotests/194        | 117 +++++++++++++++++++++---------------------
 tests/qemu-iotests/iotests.py |  26 ++++++++++
 4 files changed, 130 insertions(+), 60 deletions(-)

-- 
2.13.5

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2017-09-05 13:29 Stefan Hajnoczi
@ 2017-09-05 15:36 ` Peter Maydell
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Maydell @ 2017-09-05 15:36 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 5 September 2017 at 14:29, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 2b483739791b33c46e6084b51edcf62107058ae1:
>
>   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170904-2' into staging (2017-09-04 17:21:24 +0100)
>
> are available in the git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to b461151ff31c7925f271c297e8abed20231ac7d3:
>
>   block: document semantics of bdrv_co_preadv|pwritev (2017-09-05 11:07:02 +0100)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
>
> Daniel P. Berrange (1):
>   block: document semantics of bdrv_co_preadv|pwritev
>
> Stefan Hajnoczi (3):
>   qemu.py: make VM() a context manager
>   iotests.py: add FilePath context manager
>   qemu-iotests: use context managers for resource cleanup in 194
>
>  include/block/block_int.h     |  31 +++++++++++
>  scripts/qemu.py               |  16 +++++-
>  tests/qemu-iotests/194        | 117 +++++++++++++++++++++---------------------
>  tests/qemu-iotests/iotests.py |  26 ++++++++++
>  4 files changed, 130 insertions(+), 60 deletions(-)

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2018-03-27 14:41 Stefan Hajnoczi
  2018-03-27 18:20 ` Peter Maydell
  2018-03-31  7:12 ` no-reply
  0 siblings, 2 replies; 30+ messages in thread
From: Stefan Hajnoczi @ 2018-03-27 14:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit f58d9620aa4a514b1227074ff56eefd1334a6225:

  Merge remote-tracking branch 'remotes/rth/tags/pull-dt-20180326' into staging (2018-03-27 10:27:34 +0100)

are available in the Git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to f5a53faad4bfbf1b86012a13055d2a1a774a42b6:

  MAINTAINERS: add include/block/aio-wait.h (2018-03-27 13:05:48 +0100)

----------------------------------------------------------------

----------------------------------------------------------------

Stefan Hajnoczi (4):
  queue: add QSIMPLEQ_PREPEND()
  coroutine: avoid co_queue_wakeup recursion
  coroutine: add test-aio coroutine queue chaining test case
  MAINTAINERS: add include/block/aio-wait.h

 MAINTAINERS                  |   1 +
 include/qemu/coroutine_int.h |   1 -
 include/qemu/queue.h         |   8 ++++
 block/io.c                   |   3 +-
 tests/test-aio.c             |  65 ++++++++++++++++++++-----
 util/qemu-coroutine-lock.c   |  34 -------------
 util/qemu-coroutine.c        | 110 +++++++++++++++++++++++--------------------
 7 files changed, 121 insertions(+), 101 deletions(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2018-03-27 14:41 Stefan Hajnoczi
@ 2018-03-27 18:20 ` Peter Maydell
  2018-03-31  7:12 ` no-reply
  1 sibling, 0 replies; 30+ messages in thread
From: Peter Maydell @ 2018-03-27 18:20 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 27 March 2018 at 15:41, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit f58d9620aa4a514b1227074ff56eefd1334a6225:
>
>   Merge remote-tracking branch 'remotes/rth/tags/pull-dt-20180326' into staging (2018-03-27 10:27:34 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to f5a53faad4bfbf1b86012a13055d2a1a774a42b6:
>
>   MAINTAINERS: add include/block/aio-wait.h (2018-03-27 13:05:48 +0100)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
>
> Stefan Hajnoczi (4):
>   queue: add QSIMPLEQ_PREPEND()
>   coroutine: avoid co_queue_wakeup recursion
>   coroutine: add test-aio coroutine queue chaining test case
>   MAINTAINERS: add include/block/aio-wait.h
>
>  MAINTAINERS                  |   1 +
>  include/qemu/coroutine_int.h |   1 -
>  include/qemu/queue.h         |   8 ++++
>  block/io.c                   |   3 +-
>  tests/test-aio.c             |  65 ++++++++++++++++++++-----
>  util/qemu-coroutine-lock.c   |  34 -------------
>  util/qemu-coroutine.c        | 110 +++++++++++++++++++++++--------------------
>  7 files changed, 121 insertions(+), 101 deletions(-)
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2018-03-27 14:41 Stefan Hajnoczi
  2018-03-27 18:20 ` Peter Maydell
@ 2018-03-31  7:12 ` no-reply
  1 sibling, 0 replies; 30+ messages in thread
From: no-reply @ 2018-03-31  7:12 UTC (permalink / raw)
  To: stefanha; +Cc: famz, qemu-devel, peter.maydell

Hi,

This series failed docker-build@min-glib build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180327144124.32533-1-stefanha@redhat.com
Subject: [Qemu-devel] [PULL 0/4] Block patches

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-build@min-glib
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
58d76f2171 queue: add QSIMPLEQ_PREPEND()

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-6awfngpj/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   min-glib
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-6awfngpj/src'
  GEN     /var/tmp/patchew-tester-tmp-6awfngpj/src/docker-src.2018-03-31-03.11.27.1848/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-6awfngpj/src/docker-src.2018-03-31-03.11.27.1848/qemu.tar.vroot'...
done.
Checking out files:  33% (2006/6066)   
Checking out files:  34% (2063/6066)   
Checking out files:  35% (2124/6066)   
Checking out files:  36% (2184/6066)   
Checking out files:  37% (2245/6066)   
Checking out files:  38% (2306/6066)   
Checking out files:  39% (2366/6066)   
Checking out files:  40% (2427/6066)   
Checking out files:  41% (2488/6066)   
Checking out files:  42% (2548/6066)   
Checking out files:  43% (2609/6066)   
Checking out files:  44% (2670/6066)   
Checking out files:  45% (2730/6066)   
Checking out files:  46% (2791/6066)   
Checking out files:  47% (2852/6066)   
Checking out files:  48% (2912/6066)   
Checking out files:  49% (2973/6066)   
Checking out files:  50% (3033/6066)   
Checking out files:  51% (3094/6066)   
Checking out files:  52% (3155/6066)   
Checking out files:  53% (3215/6066)   
Checking out files:  54% (3276/6066)   
Checking out files:  55% (3337/6066)   
Checking out files:  56% (3397/6066)   
Checking out files:  57% (3458/6066)   
Checking out files:  58% (3519/6066)   
Checking out files:  59% (3579/6066)   
Checking out files:  59% (3623/6066)   
Checking out files:  60% (3640/6066)   
Checking out files:  61% (3701/6066)   
Checking out files:  62% (3761/6066)   
Checking out files:  63% (3822/6066)   
Checking out files:  64% (3883/6066)   
Checking out files:  65% (3943/6066)   
Checking out files:  66% (4004/6066)   
Checking out files:  67% (4065/6066)   
Checking out files:  68% (4125/6066)   
Checking out files:  69% (4186/6066)   
Checking out files:  70% (4247/6066)   
Checking out files:  71% (4307/6066)   
Checking out files:  72% (4368/6066)   
Checking out files:  73% (4429/6066)   
Checking out files:  74% (4489/6066)   
Checking out files:  75% (4550/6066)   
Checking out files:  76% (4611/6066)   
Checking out files:  77% (4671/6066)   
Checking out files:  78% (4732/6066)   
Checking out files:  79% (4793/6066)   
Checking out files:  80% (4853/6066)   
Checking out files:  81% (4914/6066)   
Checking out files:  82% (4975/6066)   
Checking out files:  83% (5035/6066)   
Checking out files:  84% (5096/6066)   
Checking out files:  85% (5157/6066)   
Checking out files:  86% (5217/6066)   
Checking out files:  87% (5278/6066)   
Checking out files:  88% (5339/6066)   
Checking out files:  89% (5399/6066)   
Checking out files:  90% (5460/6066)   
Checking out files:  90% (5517/6066)   
Checking out files:  91% (5521/6066)   
Checking out files:  92% (5581/6066)   
Checking out files:  93% (5642/6066)   
Checking out files:  94% (5703/6066)   
Checking out files:  94% (5725/6066)   
Checking out files:  95% (5763/6066)   
Checking out files:  96% (5824/6066)   
Checking out files:  97% (5885/6066)   
Checking out files:  98% (5945/6066)   
Checking out files:  98% (5988/6066)   
Checking out files:  99% (6006/6066)   
Checking out files: 100% (6066/6066)   
Checking out files: 100% (6066/6066), done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-6awfngpj/src/docker-src.2018-03-31-03.11.27.1848/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-6awfngpj/src/docker-src.2018-03-31-03.11.27.1848/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
tar: /var/tmp/patchew-tester-tmp-6awfngpj/src/docker-src.2018-03-31-03.11.27.1848/qemu.tar: Wrote only 2048 of 10240 bytes
tar: Error is not recoverable: exiting now
failed to create tar file
  COPY    RUNNER
    RUN test-build in qemu:min-glib 
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
/var/tmp/qemu/run: line 32: prep_fail: command not found
Environment variables:
HOSTNAME=7ec65e6e427d
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
FEATURES= dtc
DEBUG=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install

ERROR: DTC (libfdt) version >= 1.4.2 not present.
       Please install the DTC (libfdt) devel package

Traceback (most recent call last):
  File "./tests/docker/docker.py", line 407, in <module>
    sys.exit(main())
  File "./tests/docker/docker.py", line 404, in main
    return args.cmdobj.run(args, argv)
  File "./tests/docker/docker.py", line 261, in run
    return Docker().run(argv, args.keep, quiet=args.quiet)
  File "./tests/docker/docker.py", line 229, in run
    quiet=quiet)
  File "./tests/docker/docker.py", line 147, in _do_check
    return subprocess.check_call(self._command + cmd, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=c90672f634b211e88e0f52540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-6awfngpj/src/docker-src.2018-03-31-03.11.27.1848:/var/tmp/qemu:z,ro', 'qemu:min-glib', '/var/tmp/qemu/run', 'test-build']' returned non-zero exit status 1
make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-6awfngpj/src'
make: *** [tests/docker/Makefile.include:163: docker-run-test-build@min-glib] Error 2

real	0m51.126s
user	0m9.121s
sys	0m6.557s
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2018-05-08 15:19 Jeff Cody
  2018-05-08 16:54 ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Jeff Cody @ 2018-05-08 15:19 UTC (permalink / raw)
  To: qemu-block
  Cc: peter.maydell, sheepdog, Hitoshi Mitake, Kevin Wolf, qemu-devel,
	Jeff Cody, Max Reitz, Liu Yuan

The following changes since commit d01beac177d44491d7db8747b79d94e1b53d173b:

  Merge remote-tracking branch 'remotes/kraxel/tags/vga-20180507-pull-request' into staging (2018-05-08 14:23:02 +0100)

are available in the git repository at:

  git://github.com/codyprime/qemu-kvm-jtc.git tags/block-pull-request

for you to fetch changes up to a2cb9239b7610ffb00f9ced5cd7640d40b0e1ccf:

  sheepdog: Fix sd_co_create_opts() memory leaks (2018-05-08 10:47:27 -0400)

----------------------------------------------------------------
Block patches
----------------------------------------------------------------

Kevin Wolf (1):
  sheepdog: Fix sd_co_create_opts() memory leaks

Max Reitz (2):
  block/mirror: Make cancel always cancel pre-READY
  iotests: Add test for cancelling a mirror job

Stefan Hajnoczi (1):
  block/mirror: honor ratelimit again

 block/mirror.c             |  14 +++--
 block/sheepdog.c           |   4 +-
 tests/qemu-iotests/185.out |   4 +-
 tests/qemu-iotests/218     | 138 +++++++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/218.out |  30 ++++++++++
 tests/qemu-iotests/group   |   1 +
 6 files changed, 183 insertions(+), 8 deletions(-)
 create mode 100644 tests/qemu-iotests/218
 create mode 100644 tests/qemu-iotests/218.out

-- 
2.13.6

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2018-05-08 15:19 Jeff Cody
@ 2018-05-08 16:54 ` Peter Maydell
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Maydell @ 2018-05-08 16:54 UTC (permalink / raw)
  To: Jeff Cody
  Cc: Qemu-block, sheepdog, Hitoshi Mitake, Kevin Wolf, QEMU Developers,
	Max Reitz, Liu Yuan

On 8 May 2018 at 16:19, Jeff Cody <jcody@redhat.com> wrote:
> The following changes since commit d01beac177d44491d7db8747b79d94e1b53d173b:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/vga-20180507-pull-request' into staging (2018-05-08 14:23:02 +0100)
>
> are available in the git repository at:
>
>   git://github.com/codyprime/qemu-kvm-jtc.git tags/block-pull-request
>
> for you to fetch changes up to a2cb9239b7610ffb00f9ced5cd7640d40b0e1ccf:
>
>   sheepdog: Fix sd_co_create_opts() memory leaks (2018-05-08 10:47:27 -0400)
>
> ----------------------------------------------------------------
> Block patches
> ----------------------------------------------------------------
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2018-05-16 17:42 Jeff Cody
  2018-05-17 12:18 ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Jeff Cody @ 2018-05-16 17:42 UTC (permalink / raw)
  To: qemu-block; +Cc: peter.maydell, jcody, Kevin Wolf, qemu-devel, Stefan Hajnoczi

The following changes since commit c416eecea5f3aea863ab8fda5a36a24157b8f704:

  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2018-05-15 17:02:00 +0100)

are available in the git repository at:

  git://github.com/codyprime/qemu-kvm-jtc.git tags/block-pull-request

for you to fetch changes up to c82be42cc803b36fd7aed5dceec68312c7056fd5:

  nfs: Remove processed options from QDict (2018-05-16 13:37:47 -0400)

----------------------------------------------------------------
Block patches
----------------------------------------------------------------

Kevin Wolf (2):
  nfs: Fix error path in nfs_options_qdict_to_qapi()
  nfs: Remove processed options from QDict

Stefan Hajnoczi (2):
  qemu-iotests: reduce chance of races in 185
  blockjob: do not cancel timer in resume

 block/nfs.c                |  8 ++++++++
 blockjob.c                 | 22 +++++++++++++++-------
 tests/qemu-iotests/185     | 17 +++++++++++++----
 tests/qemu-iotests/185.out | 12 +++++-------
 4 files changed, 41 insertions(+), 18 deletions(-)

-- 
2.13.6

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2018-05-16 17:42 Jeff Cody
@ 2018-05-17 12:18 ` Peter Maydell
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Maydell @ 2018-05-17 12:18 UTC (permalink / raw)
  To: Jeff Cody; +Cc: Qemu-block, Kevin Wolf, QEMU Developers, Stefan Hajnoczi

On 16 May 2018 at 18:42, Jeff Cody <jcody@redhat.com> wrote:
> The following changes since commit c416eecea5f3aea863ab8fda5a36a24157b8f704:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2018-05-15 17:02:00 +0100)
>
> are available in the git repository at:
>
>   git://github.com/codyprime/qemu-kvm-jtc.git tags/block-pull-request
>
> for you to fetch changes up to c82be42cc803b36fd7aed5dceec68312c7056fd5:
>
>   nfs: Remove processed options from QDict (2018-05-16 13:37:47 -0400)
>
> ----------------------------------------------------------------
> Block patches
> ----------------------------------------------------------------
>
> Kevin Wolf (2):
>   nfs: Fix error path in nfs_options_qdict_to_qapi()
>   nfs: Remove processed options from QDict
>
> Stefan Hajnoczi (2):
>   qemu-iotests: reduce chance of races in 185
>   blockjob: do not cancel timer in resume

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2018-09-12 13:18 Jeff Cody
  0 siblings, 0 replies; 30+ messages in thread
From: Jeff Cody @ 2018-09-12 13:18 UTC (permalink / raw)
  To: qemu-block; +Cc: peter.maydell, jcody, Kevin Wolf, qemu-devel, Max Reitz

The following changes since commit 19b599f7664b2ebfd0f405fb79c14dd241557452:

  Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-08-27-v2' into staging (2018-08-27 16:44:20 +0100)

are available in the Git repository at:

  git://github.com/codyprime/qemu-kvm-jtc.git tags/block-pull-request

for you to fetch changes up to 8af2eb7b43a1b694fd6d1d090025027d6b72caac:

  block/rbd: add deprecation documentation for filename keyvalue pairs (2018-09-12 08:51:45 -0400)

----------------------------------------------------------------
Block patches for RBD
----------------------------------------------------------------

Jeff Cody (4):
  block/rbd: pull out qemu_rbd_convert_options
  block/rbd: Attempt to parse legacy filenames
  block/rbd: add iotest for rbd legacy keyvalue filename parsing
  block/rbd: add deprecation documentation for filename keyvalue pairs

 block/rbd.c                | 89 ++++++++++++++++++++++++++++++++------
 qemu-deprecated.texi       | 15 +++++++
 tests/qemu-iotests/231     | 62 ++++++++++++++++++++++++++
 tests/qemu-iotests/231.out |  9 ++++
 tests/qemu-iotests/group   |  1 +
 5 files changed, 162 insertions(+), 14 deletions(-)
 create mode 100755 tests/qemu-iotests/231
 create mode 100644 tests/qemu-iotests/231.out

-- 
2.17.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL 0/4] Block patches
@ 2019-01-04 11:21 Stefan Hajnoczi
  2019-01-04 14:54 ` Peter Maydell
  0 siblings, 1 reply; 30+ messages in thread
From: Stefan Hajnoczi @ 2019-01-04 11:21 UTC (permalink / raw)
  To: qemu-devel
  Cc: Max Reitz, Stefan Hajnoczi, Kevin Wolf, Peter Maydell, qemu-block

The following changes since commit 20d6c7312f1b812bb9c750f4087f69ac8485cc90:

  Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-3.2-part1' into staging (2019-01-03 13:26:30 +0000)

are available in the Git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to 39a0408e768cd00142f5b57d27ab234282bf4df5:

  dmg: don't skip zero chunk (2019-01-04 11:15:09 +0000)

----------------------------------------------------------------
Pull request

Bug fixes for the .dmg image file format.

----------------------------------------------------------------

Julio Faracco (1):
  dmg: Fixing wrong dmg block type value for block terminator.

yuchenlin (3):
  dmg: fix binary search
  dmg: use enumeration type instead of hard coding number
  dmg: don't skip zero chunk

 block/dmg.c | 31 ++++++++++++++++++++-----------
 1 file changed, 20 insertions(+), 11 deletions(-)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] Block patches
  2019-01-04 11:21 Stefan Hajnoczi
@ 2019-01-04 14:54 ` Peter Maydell
  0 siblings, 0 replies; 30+ messages in thread
From: Peter Maydell @ 2019-01-04 14:54 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Max Reitz, Kevin Wolf, Qemu-block

On Fri, 4 Jan 2019 at 11:21, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> The following changes since commit 20d6c7312f1b812bb9c750f4087f69ac8485cc90:
>
>   Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-3.2-part1' into staging (2019-01-03 13:26:30 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 39a0408e768cd00142f5b57d27ab234282bf4df5:
>
>   dmg: don't skip zero chunk (2019-01-04 11:15:09 +0000)
>
> ----------------------------------------------------------------
> Pull request
>
> Bug fixes for the .dmg image file format.
>
> ----------------------------------------------------------------

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.0
for any user-visible changes.

-- PMM

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2019-01-04 14:55 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-15 17:59 [Qemu-devel] [PULL 0/4] Block patches Stefan Hajnoczi
2016-07-15 17:59 ` [Qemu-devel] [PULL 1/4] spec/parallels: fix a mistake Stefan Hajnoczi
2016-07-15 17:59 ` [Qemu-devel] [PULL 2/4] linux-aio: share one LinuxAioState within an AioContext Stefan Hajnoczi
2016-07-15 17:59 ` [Qemu-devel] [PULL 3/4] aio_ctx_check: follow CODING_STYLE Stefan Hajnoczi
2016-07-15 17:59 ` [Qemu-devel] [PULL 4/4] linux-aio: prevent submitting more than MAX_EVENTS Stefan Hajnoczi
2016-07-18 10:23 ` [Qemu-devel] [PULL 0/4] Block patches Peter Maydell
2016-07-18 14:57   ` Paolo Bonzini
2016-07-18 14:58     ` Peter Maydell
2016-07-19  8:58       ` Stefan Hajnoczi
  -- strict thread matches above, loose matches on Subject: below --
2019-01-04 11:21 Stefan Hajnoczi
2019-01-04 14:54 ` Peter Maydell
2018-09-12 13:18 Jeff Cody
2018-05-16 17:42 Jeff Cody
2018-05-17 12:18 ` Peter Maydell
2018-05-08 15:19 Jeff Cody
2018-05-08 16:54 ` Peter Maydell
2018-03-27 14:41 Stefan Hajnoczi
2018-03-27 18:20 ` Peter Maydell
2018-03-31  7:12 ` no-reply
2017-09-05 13:29 Stefan Hajnoczi
2017-09-05 15:36 ` Peter Maydell
2017-02-27 16:34 Stefan Hajnoczi
2017-02-28 10:38 ` Peter Maydell
2016-07-19 22:47 Max Reitz
2016-07-20 16:05 ` Peter Maydell
2016-07-20 21:16   ` Eric Blake
2016-07-21 19:14     ` Peter Maydell
2016-07-22 12:41       ` Max Reitz
2015-04-09  9:55 Stefan Hajnoczi
2015-04-09 12:03 ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).