basic questions regarding COW in Btrfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I am trying to understand the COW mechanism in Btrfs. Is it correct to
say that unless nodatacow option is specified, Btrfs always performs
COW for all the data+metadata extents used in the system?

I saw that COWing is implemented in btrfs_cow_block() function, which
is called at the time of searching a slot for a particular item, while
inserting into a new slot, committing transactions, while creating
pending snapshots and few other places.

However, while tracing through the complete write path, I could not
quite figure out when extents actually get COWed. Could you please
point me to the place where COWing takes place? Is there any time
when, for performance or any other reasons, the extents are not COWed
but overwritten in place (apart from the explicit nodatacow flag being
set during mount)?

Thanks,
Aastha.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux