On Wed, Feb 12, 2020 at 03:46:51PM +0800, Qu Wenruo wrote: > This bit is being used in too many locations while there is still no > good enough explaination for how this bit is used. > > Not to mention its name really doesn't make much sense. > > So this patch will add my explanation on this bit, considering only > subvolume trees, along with its reloc trees have this bit, to me it > looks like this bit shows whether tree blocks of a root can be shared. I think there's more tan just sharing, it should say something about reference counted sharing. See eg. btrfs_block_can_be_shared: 864 /* 865 * Tree blocks not in reference counted trees and tree roots 866 * are never shared. If a block was allocated after the last 867 * snapshot and the block was not allocated by tree relocation, 868 * we know the block is not shared. 869 */ And there can be more specialities found when grepping for REF_COWS. The comment explaination should be complete or at least mention what's not documenting. The I find the suggested version insufficient but don't have a concrete suggestions for improvement. By reading the comment and going through code I don't feel any wiser.
