* [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 @ 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
* [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 @ 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-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-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 @ 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 @ 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 @ 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 @ 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
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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.