[libvirt] [PATCH] Fix sparse volume allocation reporting
Daniel Veillard
veillard at redhat.com
Tue Mar 24 19:49:53 UTC 2009
On Tue, Mar 24, 2009 at 03:29:21PM -0400, Cole Robinson wrote:
> I have a sparse volume with a capacity of 1000M, and an allocation of a
> little over 750M. 'du' prints the correct sizes, but 'virsh vol-dumpxml'
> shows:
>
> <capacity>1048576000</capacity>
> <allocation>6406307840</allocation>
>
> This is because we were calculating the allocation size using the
> requested fs block size, instead of what stat actually uses as a block
> size (DEV_BSIZE in sys/params.h). sys/params.h looks to be present in
> mingw32-runtime, so I didn't add a configure check for it.
That's weird but the mistake is understandable.
The man page (Fedora 9 maybe it was updated) states:
-----------------------------------------------------------------
The st_blocks field indicates the number of blocks allocated to the
file, 512-byte units. (This may be smaller than st_size/512 when the
file has holes.)
-----------------------------------------------------------------
that's even worse I think.
> The attached patch fixes allocation listing for me.
Looks fine to me, I wonder if that will work correctly on solaris for
example.
Coding wise I'm just a bit surprized with the declaration in the
middle of a block, but I probably need to get over it :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list