diff options
| author | Josef Bacik <[email protected]> | 2014-09-10 20:20:45 +0000 |
|---|---|---|
| committer | Chris Mason <[email protected]> | 2014-09-17 20:38:24 +0000 |
| commit | dc046b10c8b7d4f40befe457acb82340bf8b0699 (patch) | |
| tree | 2659e92649b19df4cd54a65eabd34f961f8d57f8 /fs/btrfs/dev-replace.c | |
| parent | Btrfs: add missing compression property remove in btrfs_ioctl_setflags (diff) | |
| download | kernel-dc046b10c8b7d4f40befe457acb82340bf8b0699.tar.gz kernel-dc046b10c8b7d4f40befe457acb82340bf8b0699.zip | |
Btrfs: make fiemap not blow when you have lots of snapshots
We have been iterating all references for each extent we have in a file when we
do fiemap to see if it is shared. This is fine when you have a few clones or a
few snapshots, but when you have 5k snapshots suddenly fiemap just sits there
and stares at you. So add btrfs_check_shared which will use the backref walking
code but will short circuit as soon as it finds a root or inode that doesn't
match the one we currently have. This makes fiemap on my testbox go from
looking at me blankly for a day to spitting out actual output in a reasonable
amount of time. Thanks,
Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions
