Skip to content
  • Josef Bacik's avatar
    Btrfs: fix free space leak · e3e469f8
    Josef Bacik authored
    
    
    In my batch delete/update/insert patch I introduced a free space leak.  The
    extent that we do the original search on in free_extents is never pinned, so we
    always update the block saying that it has free space, but the free space never
    actually gets added to the free space tree, since op->del will always be 0 and
    it's never actually added to the pinned extents tree.
    
    This patch fixes this problem by making sure we call pin_down_bytes on the
    pending extent op and set op->del to the return value of pin_down_bytes so
    update_block_group is called with the right value.  This seems to fix the case
    where we were getting ENOSPC when there was plenty of space available.
    
    Signed-off-by: default avatarJosef Bacik <jbacik@redhat.com>
    e3e469f8