• Chao Yu's avatar
    f2fs: speed up handling holes in fiemap · da85985c
    Chao Yu authored
    
    
    This patch makes f2fs_map_blocks supporting returning next potential
    page offset which skips hole region in indirect tree of inode, and
    use it to speed up fiemap in handling big hole case.
    
    Test method:
    xfs_io -f /mnt/f2fs/file  -c "pwrite 1099511627776 4096"
    time xfs_io -f /mnt/f2fs/file -c "fiemap -v"
    
    Before:
    time xfs_io -f /mnt/f2fs/file -c "fiemap -v"
    /mnt/f2fs/file:
     EXT: FILE-OFFSET              BLOCK-RANGE      TOTAL FLAGS
       0: [0..2147483647]:         hole             2147483648
       1: [2147483648..2147483655]: 81920..81927         8   0x1
    
    real    3m3.518s
    user    0m0.000s
    sys     3m3.456s
    
    After:
    time xfs_io -f /mnt/f2fs/file -c "fiemap -v"
    /mnt/f2fs/file:
     EXT: FILE-OFFSET              BLOCK-RANGE      TOTAL FLAGS
       0: [0..2147483647]:         hole             2147483648
       1: [2147483648..2147483655]: 81920..81927         8   0x1
    
    real    0m0.008s
    user    0m0.000s
    sys     0m0.008s
    Signed-off-by: default avatarChao Yu <chao2.yu@samsung.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    da85985c
file.c 44.4 KB