On Wed, Mar 14, 2018 at 3:03 PM, Edmund Nadolski <enadol...@suse.com> wrote: > This patch addresses an issue that causes fiemap to falsely > report a shared extent. The test case is as follows: > > # cat do_xfs_io > xfs_io -f -d -c "pwrite -b 16k 0 64k" -c "fiemap -v" /media/scratch/file5 > sync > xfs_io -c "fiemap -v" /media/scratch/file5 > > which gives the resulting output: > > # . do_xfs_io > wrote 65536/65536 bytes at offset 0 > 64 KiB, 4 ops; 0.0000 sec (121.359 MiB/sec and 7766.9903 ops/sec) > /media/scratch/file5: > EXT: FILE-OFFSET BLOCK-RANGE TOTAL FLAGS > 0: [0..127]: 24576..24703 128 0x2001 > /media/scratch/file5: > EXT: FILE-OFFSET BLOCK-RANGE TOTAL FLAGS > 0: [0..127]: 24576..24703 128 0x1 > > This is because btrfs_check_shared calls find_parent_nodes > repeatedly in a loop, passing a share_check struct to report > the count of shared extent. But btrfs_check_shared does not > re-initialize the count value to zero for subsequent calls > from the loop, resulting in a false share count value. This > is a regressive behavior from 4.13. > > With proper re-initialization the test result is as follows: > > # . do_xfs_io > wrote 65536/65536 bytes at offset 0 > 64 KiB, 4 ops; 0.0000 sec (110.035 MiB/sec and 7042.2535 ops/sec) > /media/scratch/file5: > EXT: FILE-OFFSET BLOCK-RANGE TOTAL FLAGS > 0: [0..127]: 24576..24703 128 0x1 > /media/scratch/file5: > EXT: FILE-OFFSET BLOCK-RANGE TOTAL FLAGS > 0: [0..127]: 24576..24703 128 0x1 > > which corrects the regression.
All this information, about reproducer, which kernel/commit introduced the regression, etc, should go into the changelog of the patch, not the cover letter, since the cover letter won't go to the git repository. > > Edmund Nadolski (1): > btrfs: add missing initialization in btrfs_check_shared > > fs/btrfs/backref.c | 1 + > 1 file changed, 1 insertion(+) > > -- > 2.10.2 > > -- > 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 -- Filipe David Manana, “Whether you think you can, or you think you can't — you're right.” -- 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