Hi all, Here are more reflink fixes that I've accumulated over the past week. I added CLONERANGE support to fsstress and reran xfstests, which very rapidly found problems. This series fixes a number of problems dug up by xfs/017. The first two patches disentangle a mess between the incore inode radix tree tags and the corresponding inode flags. We use the inode eofblocks flags as a proxy for whether or not the same eofblocks tag is set for the radix tree, which means that we can't use that single iflag to represent the cowblocks radix tree tag, so give the cowblocks tag a corresponding inode flag. This fixes a bug where the cowblocks tag silently isn't set if the inode already had the eofblocks tag set. The second patch then fixes the clearing of the cow tag & reflink flag when truncating the file -- we only want to clear the reflink flag if both data & cow forks are empty, and we can only clear the cow tag if the cow fork is totally empty; i_cnextents only tracks real extents. The third patch flushes all the cow reservations when we remount the filesystem ro, to put the fs in a clean quiesced state (i.e. no orphaned cow staging extents) so that we can reduce mount times later. The fourth patch sets the cow tag when we do direct allocations into the cow fork so that any hint-aligned remnants are cleaned out at remount-ro time. These patches apply directly to the end of 'xfs: reflink fixes'. --D -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html