From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LL0hb-00081r-0O for qemu-devel@nongnu.org; Thu, 08 Jan 2009 14:37:59 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LL0hY-0007yr-Sc for qemu-devel@nongnu.org; Thu, 08 Jan 2009 14:37:58 -0500 Received: from [199.232.76.173] (port=38821 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LL0hY-0007yY-MM for qemu-devel@nongnu.org; Thu, 08 Jan 2009 14:37:56 -0500 Received: from mail-ew0-f21.google.com ([209.85.219.21]:40711) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LL0hY-0006OG-9b for qemu-devel@nongnu.org; Thu, 08 Jan 2009 14:37:56 -0500 Received: by ewy14 with SMTP id 14so10385781ewy.10 for ; Thu, 08 Jan 2009 11:37:55 -0800 (PST) Message-ID: <4966560B.30504@codemonkey.ws> Date: Thu, 08 Jan 2009 13:37:47 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 0/3] info blockstats (block-qcow2): show highest allocated offset (bytes) References: <49664ACA.9050807@redhat.com> In-Reply-To: <49664ACA.9050807@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Uri Lublin Uri Lublin wrote: > From: Uri Lublin > > This patchset let the user know the highest allocated byte of qcow2 > images. > Actually it's the first unallocated byte after the highest byte written, > cluster-size aligned. > > The highest allocated byte gives a maximal limit (easy to calculate) > to the number of bytes allocated for that image, and may hint how many > more allocations can be done before we reach end-of-file (end of host > block device). > Although there may be many free blocks below that number (allocated > and freed) > the file system can not deallocate those blocks, and they have to be > reused > by qemu. Also note that due to fragmentation those free blocks may not > be used on next allocations. > > It can be useful for truncation of backing file images (ftruncate). > Also it may be useful for defragmentation later (although we'll need > the number of free blocks as well). I'm having trouble seeing the utility of this as it seems to be not really reliable. Surely, after a lot of work, you'll have one block far at the end of the file, no? I don't see how knowing this location helps practically speaking. Can you explain a little more about what you want to use this functionality for? Regards, Anthony Liguori