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

Commit 6b207ba3 authored by Tejun Heo's avatar Tejun Heo Committed by Linus Torvalds
Browse files

ocfs2: convert to idr_alloc()



Convert to the much saner new idr interface.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Acked-by: default avatarJoel Becker <jlbec@evilplan.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4542da63
Loading
Loading
Loading
Loading
+13 −19
Original line number Diff line number Diff line
@@ -304,28 +304,22 @@ static u8 o2net_num_from_nn(struct o2net_node *nn)

static int o2net_prep_nsw(struct o2net_node *nn, struct o2net_status_wait *nsw)
{
	int ret = 0;
	int ret;

	do {
		if (!idr_pre_get(&nn->nn_status_idr, GFP_ATOMIC)) {
			ret = -EAGAIN;
			break;
		}
	spin_lock(&nn->nn_lock);
		ret = idr_get_new(&nn->nn_status_idr, nsw, &nsw->ns_id);
		if (ret == 0)
			list_add_tail(&nsw->ns_node_item,
				      &nn->nn_status_list);
	ret = idr_alloc(&nn->nn_status_idr, nsw, 0, 0, GFP_ATOMIC);
	if (ret >= 0) {
		nsw->ns_id = ret;
		list_add_tail(&nsw->ns_node_item, &nn->nn_status_list);
	}
	spin_unlock(&nn->nn_lock);
	} while (ret == -EAGAIN);
	if (ret < 0)
		return ret;

	if (ret == 0)  {
	init_waitqueue_head(&nsw->ns_wq);
	nsw->ns_sys_status = O2NET_ERR_NONE;
	nsw->ns_status = 0;
	}

	return ret;
	return 0;
}

static void o2net_complete_nsw_locked(struct o2net_node *nn,