On Tue, Jan 26, 2010 at 03:15:08PM +0800, Zhu Yanhai wrote: > Hi Chris, > According to my understanding, COW in Btrfs services for 1) snapshots > capacities 2) keeping checksum consistent with FS data, > that's why nodatacow implies nodatasum. And COW will still happen for > snapshots even under 'nodatacow'. > > So could you please tell me what can we get from COW if not computing > checksum (nodatasum)? That's to say, if some user decides to > disable checksum, do you think it's fine for him to just mount with > 'nodatacow'? Or there's still some reason for him to use bare 'nodatasum'?
COW does have advantages in some workloads, basically where you end up putting fresh data modifications close to each other. This is especially true on some ssds that work best when writing large groups of contiguous data. Mail server workloads often benefit from cow as well. Especially with the intel crc32c extensions, the checksumming is becoming less and less expensive on modern hardware. I don't expect many people to turn it off. nodatacow on the other hand has a big impact on database workloads. The random over-write performance goes down significantly when cow is on because the extents become very small and the amount of metadata needed to track them becomes very large. So, nodatacow is likely to be used often, while nodatasum is probably only going to be used by people trying to figure out how big the impact of checksumming is on performance. -chris -- 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