On Wed, Sep 25, 2013 at 02:38:36PM +0800, Chunyan Liu wrote:
> Btrfs has terrible performance when hosting VM images, even more when the
> guest in those VM are also using btrfs as file system.
> One way to mitigate this bad performance would be to turn off COW
> attributes on VM files (since having copy on write for this kind of data is
> not useful). We could improve qemu-img to ensure they flag newly created
> images as "nocow". For those who want to use Copy-on-write (for
> snapshotting, to share snapshots across VM, etc..) could be able to change
> this behaviour by 'chattr', either globally or per VM.

The full implications of the NOCOW attribute aren't clear to me.  Does
it really mean the file cannot be snapshotted?  Or is it purely a data
integrity issue where overwriting data in-place puts that data at risk
in case of hardware/power failure?

> I wonder could we add a patch to improve qemu-img create, to set 'nocow'
> flag by default on newly created images?

I think that would be fine.  It's a ioctl(FS_IOC_SETFLAGS, FS_NOCOW_FL)
call so not even too btrfs-specific.

Stefan

Reply via email to