From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37954) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFONd-0001Fu-D8 for qemu-devel@nongnu.org; Thu, 28 Apr 2011 06:23:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QFONc-0003kn-Ey for qemu-devel@nongnu.org; Thu, 28 Apr 2011 06:23:29 -0400 Received: from fnarfbargle.com ([93.93.131.67]:45216) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFONc-0003jv-Al for qemu-devel@nongnu.org; Thu, 28 Apr 2011 06:23:28 -0400 Message-ID: <4DB93589.7040803@fnarfbargle.com> Date: Thu, 28 Apr 2011 17:38:17 +0800 From: Brad Campbell MIME-Version: 1.0 References: <4DB7880C.4090302@fnarfbargle.com> <4DB7DA44.4030008@fnarfbargle.com> <4DB7EAAC.3080402@redhat.com> <4DB81E16.5010408@fnarfbargle.com> <4DB8209A.7070400@redhat.com> <4DB821EE.8010706@fnarfbargle.com> <4DB8CBB8.9050002@fnarfbargle.com> <4DB90AEA.2090206@redhat.com> In-Reply-To: <4DB90AEA.2090206@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Qemu-img convert with -B List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: Stefan Hajnoczi , qemu-devel@nongnu.org On 28/04/11 14:36, Kevin Wolf wrote: > Am 28.04.2011 04:06, schrieb Brad Campbell: >> On 27/04/11 22:02, Brad Campbell wrote: >>> On 27/04/11 21:56, Kevin Wolf wrote: >>> >>>> When you don't have a backing file, leaving an cluster unallocated means >>>> that it's zero. When you have a backing file, it could be anything. So >>>> if qemu-img convert wanted to save this space, it would have to read >>>> from the backing file and leave the cluster unallocated if it reads as >>>> zero. >>>> >>>> This is something that qemu-img doesn't do today. >> This passes cursory testing, but I'm just wondering if this is along the >> right lines? > I haven't checked all details, but it looks like what I would have done. > (Though something is wrong with your indentations, I suspect that the > patch wouldn't apply) > Odd, I generated it with git diff. Must have lost something in the copy & paste from the terminal. I'm using tabs=spaces and a ts of 4 in vim. It seemed to fit in with the rest of the file. >> @@ -939,9 +957,16 @@ out: >> free_option_parameters(create_options); >> free_option_parameters(param); >> qemu_free(buf); >> + if (buf3) { >> + qemu_free(buf3); >> + } > qemu_free (and the libc free, too) work just fine with NULL, so the > check isn't needed. I ran some more tests on it and there are some small issues I need to fix up, but it does what it says on the tin. Cheers for the feedback, I'll do some cleanups and prepare something for submission. Regards, Brad