On Tue, Feb 04, 2014 at 08:22:05PM -0500, Josef Bacik wrote: > On 02/04/2014 03:52 PM, Kai Krakow wrote: > >Hi! > > > >I'm curious... The whole snapshot thing on btrfs is based on its COW design. > >But you can make individual files and directory contents nocow by applying > >the C attribute on it using chattr. This is usually recommended for database > >files and VM images. So far, so good... > > > >But what happens to such files when they are part of a snapshot? Do they > >become duplicated during the snapshot? Do they become unshared (as a whole) > >when written to? Or when the the parent snapshot becomes deleted? Or maybe > >the nocow attribute is just ignored after a snapshot was taken? > > > >After all they are nocow and thus would be handled in another way when > >snapshotted. > > > When snapshotted nocow files fallback to normal cow behaviour.
This may seem unclear to people not familiar with the actual implementation, and I had to think for a second about that sentence. The file will keep the NOCOW status, but any modified blocks will be newly allocated on the first write (in a COW manner), then the block location will not change anymore (unlike ordinary COW). HTH -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html