• Li Zefan's avatar
    Btrfs: fix defrag regression · 6c282eb4
    Li Zefan authored
    If a file has 3 small extents:
    
    | ext1 | ext2 | ext3 |
    
    Running "btrfs fi defrag" will only defrag the last two extents, if those
    extent mappings hasn't been read into memory from disk.
    
    This bug was introduced by commit 17ce6ef8
    ("Btrfs: add a check to decide if we should defrag the range")
    
    The cause is, that commit looked into previous and next extents using
    lookup_extent_mapping() only.
    
    While at it, remove the code that checks the previous extent, since
    it's sufficient to check the next extent.
    Signed-off-by: default avatarLi Zefan <lizefan@huawei.com>
    6c282eb4
ioctl.c 82 KB