On Wed, Mar 14, 2018 at 08:11:18PM +0000, fdman...@kernel.org wrote: > From: Filipe Manana <fdman...@suse.com> > > Verify that a filesystem check operation (fsck) does not report the > following scenario as an error: > > An extent is shared between two inodes, as a result of clone/reflink > operation, and for one of the inodes, lets call it inode A, the extent is > referenced through a file extent item as a prealloc extent, while for the > other inode, call it inode B, the extent is referenced through a regular > file extent item, that is, it was written to. The goal of this test is to > make sure a filesystem check operation will not report "odd csum items" > errors for the prealloc extent at inode A, because this scenario is valid > since the extent was written through inode B and therefore it is expected > to have checksum items in the filesystem's checksum btree for that shared > extent. > > Such scenario can be created with the following steps for example: > > mkfs.btrfs -f /dev/sdb > mount /dev/sdb /mnt > > touch /mnt/foo > xfs_io -c "falloc 0 256K" /mnt/foo > sync > > xfs_io -c "pwrite -S 0xab 0 256K" /mnt/foo > touch /mnt/bar > xfs_io -c "reflink /mnt/foo 0 0 256K" /mnt/bar > xfs_io -c "fsync" /mnt/bar > > <power fail> > mount /dev/sdb /mnt > umount /mnt > > This scenario is fixed by the following patch for the filesystem checker: > > "Btrfs-progs: check, fix false error reports for shared prealloc extents" > > Signed-off-by: Filipe Manana <fdman...@suse.com> > Reviewed-by: Qu Wenruo <w...@suse.com>
Applied, thanks. -- 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