• Josef Bacik's avatar
    Btrfs: make sure the backref walker catches all refs to our extent · ed8c4913
    Josef Bacik authored
    Because we don't mess with the offset into the extent for compressed we will
    properly find both extents for this case
    
    [extent a][extent b][rest of extent a]
    
    but because we already added a ref for the front half we won't add the inode
    information for the second half.  This causes us to leak that memory and not
    print out the other offset when we do logical-resolve.  So fix this by calling
    ulist_add_merge and then add our eie to the existing entry if there is one.
    With this patch we get both offsets out of logical-resolve.  With this and the
    other 2 patches I've sent we now pass btrfs/276 on my vm with compress-force=lzo
    set.  Thanks,
    Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
    ed8c4913
backref.c 46.7 KB