btrfs-progs: handle orphan creation error in btrfs_unlink
authorDavid Sterba <dsterba@suse.cz>
Tue, 6 Jan 2015 17:46:03 +0000 (18:46 +0100)
committerDavid Sterba <dsterba@suse.cz>
Tue, 6 Jan 2015 17:46:03 +0000 (18:46 +0100)
The error handling is simple and just returns an error upward, no
cleanup.

Resolves-coverity-id: 1260251
Signed-off-by: David Sterba <dsterba@suse.cz>
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);
                }