diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index c41637a1ed38..ca4051713633 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -3616,6 +3616,8 @@ static int __btrfs_unlink_inode(struct btrfs_trans_handle *trans, dir, index); if (ret == -ENOENT) ret = 0; + else if (ret) + btrfs_abort_transaction(trans, root, ret); err: btrfs_free_path(path); if (ret)