From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51915) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UKpfx-0007kI-IE for qemu-devel@nongnu.org; Wed, 27 Mar 2013 08:42:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UKpfu-0001T9-96 for qemu-devel@nongnu.org; Wed, 27 Mar 2013 08:41:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:27641) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UKpft-0001Sx-WE for qemu-devel@nongnu.org; Wed, 27 Mar 2013 08:41:54 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r2RCfrgj005822 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 27 Mar 2013 08:41:53 -0400 Date: Wed, 27 Mar 2013 13:41:49 +0100 From: Stefan Hajnoczi Message-ID: <20130327124149.GA13100@stefanha-thinkpad.muc.redhat.com> References: <1364316613-31223-1-git-send-email-kwolf@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1364316613-31223-1-git-send-email-kwolf@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 00/21] qcow2: Rework cluster allocation even more List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: qemu-devel@nongnu.org On Tue, Mar 26, 2013 at 05:49:52PM +0100, Kevin Wolf wrote: > This is the start of the latest Delayed COW series. As there seem to be serious > problems with the actual Delayed COW (which in fact exist today, but would > become a bit easier to hit) and I don't have the time to complete this at the > moment, here is another series with preparatory patches, for which there's no > reason to not get them applied now. > > The result is a somewhat cleaner cluster allocation code in qcow2, and in > theory some cases should show improved performance - in practice I think these > cases are unlikely to occur, but as the optimisation falls out naturally, let's > just take it. > > Kevin Wolf (21): > qemu-iotests: More concurrent allocation scenarios > qcow2: Fix "total clusters" number in bdrv_check > qcow2: Remove bogus unlock of s->lock > qcow2: Handle dependencies earlier > qcow2: Improve check for overlapping allocations > qcow2: Change handle_dependency to byte granularity > qcow2: Decouple cluster allocation from cluster reuse code > qcow2: Factor out handle_alloc() > qcow2: handle_alloc(): Get rid of nb_clusters parameter > qcow2: handle_alloc(): Get rid of keep_clusters parameter > qcow2: Finalise interface of handle_alloc() > qcow2: Clean up handle_alloc() > qcow2: Factor out handle_copied() > qcow2: handle_copied(): Get rid of nb_clusters parameter > qcow2: handle_copied(): Get rid of keep_clusters parameter > qcow2: handle_copied(): Implement non-zero host_offset > qcow2: Prepare handle_alloc/copied() for byte granularity > qcow2: Use byte granularity in qcow2_alloc_cluster_offset() > qcow2: Allow requests with multiple l2metas > qcow2: Move cluster gathering to a non-looping loop > qcow2: Gather clusters in a looping loop > > block/qcow2-cluster.c | 507 ++++++++++++++++++++++++++++++++------------- > block/qcow2-refcount.c | 4 +- > block/qcow2.c | 16 +- > block/qcow2.h | 29 +++ > tests/qemu-iotests/038.out | 10 +- > tests/qemu-iotests/044.out | 4 +- > tests/qemu-iotests/046 | 49 ++++- > tests/qemu-iotests/046.out | 76 +++++++ > trace-events | 2 + > 9 files changed, 534 insertions(+), 163 deletions(-) > > -- > 1.8.1.4 > Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan