From patchwork Fri Mar 15 15:13:57 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 228043 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 10BCF2C00A7 for ; Sat, 16 Mar 2013 02:15:22 +1100 (EST) Received: from localhost ([::1]:41919 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGWLo-0007YO-4t for incoming@patchwork.ozlabs.org; Fri, 15 Mar 2013 11:15:20 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42768) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGWL5-0007IM-Ag for qemu-devel@nongnu.org; Fri, 15 Mar 2013 11:14:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UGWKx-0003nn-Rc for qemu-devel@nongnu.org; Fri, 15 Mar 2013 11:14:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:65094) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGWKx-0003nd-KQ for qemu-devel@nongnu.org; Fri, 15 Mar 2013 11:14:27 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r2FFERXo023469 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 15 Mar 2013 11:14:27 -0400 Received: from localhost (ovpn-112-50.ams2.redhat.com [10.36.112.50]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r2FFEPXo032708; Fri, 15 Mar 2013 11:14:26 -0400 From: Stefan Hajnoczi To: Date: Fri, 15 Mar 2013 16:13:57 +0100 Message-Id: <1363360465-5247-1-git-send-email-stefanha@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: Anthony Liguori Subject: [Qemu-devel] [PULL 00/28] Block patches X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org The last block pull request from March 12 broke the virtio-blk serial property and was not applied. This pull request includes the patches from March 12, Kevin's fixed "[PATCH v2 0/8] block: Add driver specific options", and patches from this week that I have applied. The following changes since commit 4f306496183d81aed4b43762cf3bfd6e054de767: qga/main.c: Don't use g_key_file_get/set_int64 (2013-03-15 08:23:54 -0500) are available in the git repository at: git://github.com/stefanha/qemu.git block for you to fetch changes up to 3618a094022e984d4e045c6db21aed961b7c6fc9: blockdev: Fix up copyright and permission notice (2013-03-15 16:07:51 +0100) ---------------------------------------------------------------- Kevin Wolf (8): block: Add options QDict to .bdrv_open() block: Add options QDict to bdrv_open() prototype Add qdict_clone_shallow() block: Add options QDict to bdrv_open_common() qemu-option: Add qemu_opts_absorb_qdict() blockdev: Keep a copy of DriveInfo.serial block: Support driver specific options in drive_init() qcow2: Allow lazy refcounts to be enabled on the command line MORITA Kazutaka (2): sheepdog: use non-blocking fd in coroutine context sheepdog: set io_flush handler in do_co_req Markus Armbruster (1): blockdev: Fix up copyright and permission notice Paolo Bonzini (3): qcow2: make is_allocated return true for zero clusters dataplane: fix hang introduced by AioContext transition qemu-iotests: add tests for rebasing zero clusters Stefan Hajnoczi (14): qcow2: flush refcount cache correctly in alloc_refcount_block() qcow2: flush refcount cache correctly in qcow2_write_snapshots() qcow2: set L2 cache dependency in qcow2_alloc_bytes() qcow2: flush in qcow2_update_snapshot_refcount() qcow2: drop flush in update_cluster_refcount() qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount() main-loop: add qemu_get_aio_context() threadpool: move globals into struct ThreadPool threadpool: add thread_pool_new() and thread_pool_free() aio: add a ThreadPool instance to AioContext block: add bdrv_get_aio_context() threadpool: drop global thread pool coroutine: use AioContext for CoQueue BH qemu-iotests: use -nographic in test case 007 async.c | 11 ++ block.c | 87 ++++++++++++---- block/blkverify.c | 2 +- block/bochs.c | 2 +- block/cloop.c | 2 +- block/cow.c | 2 +- block/dmg.c | 2 +- block/parallels.c | 2 +- block/qcow.c | 2 +- block/qcow2-cluster.c | 5 +- block/qcow2-refcount.c | 24 +++-- block/qcow2-snapshot.c | 10 +- block/qcow2.c | 49 +++++++-- block/qcow2.h | 1 + block/qed.c | 4 +- block/raw-posix.c | 8 +- block/raw-win32.c | 4 +- block/raw.c | 2 +- block/sheepdog.c | 19 ++-- block/vdi.c | 2 +- block/vmdk.c | 4 +- block/vpc.c | 2 +- block/vvfat.c | 2 +- blockdev.c | 105 ++++++++++++++++--- hw/dataplane/virtio-blk.c | 17 +++- hw/xen_disk.c | 2 +- include/block/aio.h | 6 ++ include/block/block.h | 4 +- include/block/block_int.h | 10 +- include/block/coroutine.h | 1 + include/block/thread-pool.h | 15 ++- include/qapi/qmp/qdict.h | 2 + include/qemu/main-loop.h | 5 + include/qemu/option.h | 1 + include/sysemu/blockdev.h | 2 +- main-loop.c | 5 + qemu-coroutine-lock.c | 55 ++++++---- qemu-img.c | 6 +- qemu-io.c | 2 +- qemu-nbd.c | 2 +- qobject/qdict.c | 22 ++++ tests/qemu-iotests/007 | 7 +- tests/qemu-iotests/050 | 75 ++++++++++++++ tests/qemu-iotests/050.out | 17 ++++ tests/qemu-iotests/group | 1 + tests/test-thread-pool.c | 44 ++++---- thread-pool.c | 243 ++++++++++++++++++++++++++++---------------- trace-events | 4 +- util/qemu-option.c | 34 +++++++ 49 files changed, 702 insertions(+), 233 deletions(-) create mode 100755 tests/qemu-iotests/050 create mode 100644 tests/qemu-iotests/050.out