• Chao Yu's avatar
    f2fs: ro: compress: fix to avoid caching unaligned extent · 4b99ecd3
    Chao Yu authored
    Mapping info from dump.f2fs:
    i_addr[0x2d] cluster flag    		[0xfffffffe : 4294967294]
    i_addr[0x2e]                 		[0x   10428 : 66600]
    i_addr[0x2f]                 		[0x   10429 : 66601]
    i_addr[0x30]                 		[0x   1042a : 66602]
    
    f2fs_io fiemap 37 1 /mnt/f2fs/disk-58390c8c.raw
    
    Previsouly, it missed to align fofs and ofs_in_node to cluster_size,
    result in adding incorrect read extent cache, fix it.
    
    Before:
    f2fs_update_read_extent_tree_range: dev = (253,48), ino = 5, pgofs = 37, len = 4, blkaddr = 66600, c_len = 3
    
    After:
    f2fs_update_read_extent_tree_range: dev = (253,48), ino = 5, pgofs = 36, len = 4, blkaddr = 66600, c_len = 3
    
    Fixes: 94afd6d6 ("f2fs: extent cache: support unaligned extent")
    Signed-off-by: default avatarChao Yu <chao@kernel.org>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    4b99ecd3
compress.c 47.8 KB