virt-sparsify is a tool for trimming free space in virtual disk images. The new implementation uses vfs/kernel/qemu discard support. Essentially it does: for each filesystem: mount -o discard $fs /mnt sync fstrim /mnt umount /mnt sync # qemu is killed after sync returns Although typing these commands by hand works fine, when you run them from a program the fstrim doesn't happen all the way down the stack reliably. Mostly it works, but sometimes it only trims some space from the host file. It appears that when the host is slow / under load, the problem happens more frequently. Also it may happen more frequently on i686 than on x86-64 (possibly also due to speed of host). The question is: What can I do to make sure the trim happens reliably, all the way down the stack, before qemu is killed? I am testing this using the latest upstream kernel & qemu. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://people.redhat.com/~rjones/virt-df/ -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html