> + /* > + * Apparently truncate can race with writeback since writeback doesn't The apparently here looks rather snarky, I'd remove it. > + * take the iolock and truncate decreases the file size before it > + * starts truncating the pages between new_size and old_size. > + * Therefore, we can end up in the situation where writeback gets a > + * CoW fork mapping but the truncate makes the mapping invalid and we > + * end up in here trying to get a new mapping. Bail out here so that > + * we simply never get a valid mapping and so we drop the write > + * altogether. The page truncation will kill the contents anyway. > + */ > + if (type == XFS_IO_COW && offset > i_size_read(inode)) > + return 0; Otherwise this looks fine: Reviewed-by: Christoph Hellwig <hch@xxxxxx> -- 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