btrfs-progs: handle orphan creation error in btrfs_unlink
[platform/upstream/btrfs-progs.git] / inode.c
diff --git a/inode.c b/inode.c
index a37f7f3..be03a52 100644 (file)
--- a/inode.c
+++ b/inode.c
@@ -350,6 +350,8 @@ int btrfs_unlink(struct btrfs_trans_handle *trans, struct btrfs_root *root,
                /* For nlinks == 0, add it to orphan list if needed */
                if (nlinks == 0 && add_orphan) {
                        ret = btrfs_add_orphan_item(trans, root, path, ino);
+                       if (ret < 0)
+                               goto out;
                        btrfs_mark_buffer_dirty(path->nodes[0]);
                        btrfs_release_path(path);
                }