/* This allows us to split the item in place, keeping a lock on the leaf the entire time.  */
int btrfs_split_item(struct btrfs_trans_handle *trans, struct btrfs_root *root, struct btrfs_path *path, struct btrfs_key *new_key, unsigned long split_offset)
/* This allows us to split the item in place, keeping a lock on the leaf the entire time.  */
int btrfs_split_item(struct btrfs_trans_handle *trans, struct btrfs_root *root, struct btrfs_path *path, struct btrfs_key *new_key, unsigned long split_offset)
{
	int ret;
	ret = setup_leaf_for_split(trans, root, path,
				   sizeof(struct btrfs_item));
	if (ret)
		return ret;
	ret = split_item(trans, root, path, new_key, split_offset);
	return ret;
}