stefa...@redhat.com writes: > On Mon, Nov 18, 2013 at 12:54:59PM +0800, Chunyan Liu wrote: >> 2013/11/15 Stefan Hajnoczi <stefa...@gmail.com> >> >> > On Thu, Nov 14, 2013 at 04:15:28PM +0800, Chunyan Liu wrote: >> > > Set NOCOW flag to newly created images to solve performance issues on >> > btrfs. <snip> >> > This should be optional and I'm not sure it should be the default. >> > >> > Rationale: If you're on btrfs you probably expect the copy-on-write and >> > snapshot features of the file system. We shouldn't silently disable >> > that unless the user asks for it. <snip> > > When the NOCOW attribute is set on a file, reflink copying (aka > file-level snapshots) do not work: > > $ cp --reflink test.img test-snapshot.img > > This produces EINVAL. > > It is a regression if qemu-img create suddenly starts breaking this > standard btrfs feature for existing users. > > Please make it a .bdrv_create() option which is off by default to avoid > breaking existing users' workflows/scripts. The result should be > something like: > > $ qemu-img create test.img 8G # file has NOCOW cleared > $ qemu-img create -o nocow=on test.img 8G # file has NOCOW set
I agree we shouldn't break existing work flows. I wonder if it would OK for qemu-img to issue a warning (when not --quiet) when it detects creation of an image on a partition where performance may not be as expected due to COW behaviour. Cheers, -- Alex Bennée QEMU/KVM Hacker for Linaro