• J
    Btrfs: make fiemap not blow when you have lots of snapshots · dc046b10
    Josef Bacik 提交于
    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: NJosef Bacik <jbacik@fb.com>
    Signed-off-by: NChris Mason <clm@fb.com>
    dc046b10
extent_io.c 135.1 KB