• Li Zefan's avatar
    Btrfs: fix to search one more bitmap for cluster setup · 0f0fbf1d
    Li Zefan authored
    Suppose there are two bitmaps [0, 256], [256, 512] and one extent
    [100, 120] in the free space cache, and we want to setup a cluster
    with offset=100, bytes=50.
    
    In this case, there will be only one bitmap [256, 512] in the temporary
    bitmaps list, and then setup_cluster_bitmap() won't search bitmap [0, 256].
    
    The cause is, the list is constructed in setup_cluster_no_bitmap(),
    and only bitmaps with bitmap_entry->offset >= offset will be added
    into the list, and the very bitmap that convers offset has
    bitmap_entry->offset <= offset.
    Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    0f0fbf1d
free-space-cache.c 70.4 KB