out_unlock:
        btrfs_end_transaction(trans);
-       btrfs_balance_delayed_items(fs_info);
        btrfs_btree_balance_dirty(fs_info);
        if (drop_inode) {
                inode_dec_link_count(inode);
                inode_dec_link_count(inode);
                iput(inode);
        }
-       btrfs_balance_delayed_items(fs_info);
        btrfs_btree_balance_dirty(fs_info);
        return err;
 
                btrfs_log_new_name(trans, BTRFS_I(inode), NULL, parent);
        }
 
-       btrfs_balance_delayed_items(fs_info);
 fail:
        if (trans)
                btrfs_end_transaction(trans);
                inode_dec_link_count(inode);
                iput(inode);
        }
-       btrfs_balance_delayed_items(fs_info);
        btrfs_btree_balance_dirty(fs_info);
        return err;
 
        btrfs_end_transaction(trans);
        if (ret)
                iput(inode);
-       btrfs_balance_delayed_items(fs_info);
        btrfs_btree_balance_dirty(fs_info);
        return ret;