• Liu Bo's avatar
    Btrfs: fix unexpected return value of fiemap · 2d324f59
    Liu Bo authored
    btrfs's fiemap is supposed to return 0 on success and return < 0 on
    error. however, ret becomes 1 after looking up the last file extent:
    
      btrfs_lookup_file_extent ->
        btrfs_search_slot(..., ins_len=0, cow=0)
    
    and if the offset is beyond EOF, we'll get 'path' pointed to the place
    of potentail insertion, and ret == 1.
    
    This may confuse applications using ioctl(FIEL_IOC_FIEMAP).
    Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    2d324f59
extent_io.c 146 KB