On Sat, Jul 27, 2013 at 07:02:41PM +0200, Lennart Poettering wrote: > On Fri, 26.07.13 21:29, Eric Sandeen (sandeen@xxxxxxxxxx) wrote: > > On 7/26/13 3:13 PM, Miloslav Trmač wrote: > > > Hello all, > > > with thin provisioning available, the total and free space values > > > reported by a filesystem do not necessarily mean that that much space > > > is _actually_ available (the actual backing storage may be smaller, or > > > shared with other filesystems). > > > > > > If your package reports disk space usage to users, and bases this on > > > filesystem free space, please consider whether it might need to take > > > LVM thin provisioning into account. > > > > Short answer: it doesn't (it can't). > > > > Just like an application doesn't know if it's got a 2.5" or 3.5" drive > > behind it, or cloud behind it, or a usb stick behind it, it doesn't > > know if it's got thinly provisioned storage behind it. > > Well, correct me if I am wrong but don't RAID devices communicate > certain metrics to the file systems on them already? (stride size > iirc?). It doesn't sound too difficult to communicate the thin > provisioning ratio as well, and then leave it to the file system to > scale the report disk free space. It's been like this since thin-provisioned SANs first came along, so twenty or more years. It's got a lot worse because of widespread virtualization and the use of raw-sparse, VMDK and qcow2. I agree with you that underlying storage really ought to communicate this information up to the kernel (as has been recently done with alignment information, see [1]). I also appreciate this will not be easy with the sheer variety of underlying storage. Also the problem is not well-defined: What happens if the underlying storage is storing two guests, and either of them could grow to the full size on their own, but if both together did it, we'd run out of space? What does "thin provisioning ratio" mean for this? Rich. [1] http://libguestfs.org/virt-alignment-scan.1.html#linux-host-block-and-i-o-size -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct