Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c4f61f0 authored by David Sterba's avatar David Sterba
Browse files

btrfs: simplify insert_orphan_item



We can search and add the orphan item in one go,
btrfs_insert_orphan_item will find out if the item already exists.

Signed-off-by: default avatarDavid Sterba <dsterba@suse.cz>
parent c234a24d
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -1254,21 +1254,13 @@ static noinline int add_inode_ref(struct btrfs_trans_handle *trans,
}

static int insert_orphan_item(struct btrfs_trans_handle *trans,
			      struct btrfs_root *root, u64 offset)
			      struct btrfs_root *root, u64 ino)
{
	int ret;
	struct btrfs_path *path;

	path = btrfs_alloc_path();
	if (!path)
		return -ENOMEM;

	ret = btrfs_find_item(root, path, BTRFS_ORPHAN_OBJECTID,
			offset, BTRFS_ORPHAN_ITEM_KEY, NULL);
	if (ret > 0)
		ret = btrfs_insert_orphan_item(trans, root, offset);

	btrfs_free_path(path);
	ret = btrfs_insert_orphan_item(trans, root, ino);
	if (ret == -EEXIST)
		ret = 0;

	return ret;
}