Skip to content

Commit

Permalink
[PATCH] add klist_node_attached() to determine if a node is on a list…
Browse files Browse the repository at this point in the history
… or not.

Signed-off-by: Patrick Mochel <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

diff -Nru a/include/linux/klist.h b/include/linux/klist.h
  • Loading branch information
[email protected] authored and gregkh committed Jun 20, 2005
1 parent 2287c32 commit 8b0c250
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/linux/klist.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ extern void klist_add_head(struct klist * k, struct klist_node * n);
extern void klist_del(struct klist_node * n);
extern void klist_remove(struct klist_node * n);

extern int klist_node_attached(struct klist_node * n);


struct klist_iter {
struct klist * i_klist;
Expand Down
16 changes: 16 additions & 0 deletions lib/klist.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ static void klist_release(struct kref * kref)
struct klist_node * n = container_of(kref, struct klist_node, n_ref);
list_del(&n->n_node);
complete(&n->n_removed);
n->n_klist = NULL;
}

static int klist_dec_and_del(struct klist_node * n)
Expand Down Expand Up @@ -153,6 +154,19 @@ void klist_remove(struct klist_node * n)
EXPORT_SYMBOL_GPL(klist_remove);


/**
* klist_node_attached - Say whether a node is bound to a list or not.
* @n: Node that we're testing.
*/

int klist_node_attached(struct klist_node * n)
{
return (n->n_klist != NULL);
}

EXPORT_SYMBOL_GPL(klist_node_attached);


/**
* klist_iter_init_node - Initialize a klist_iter structure.
* @k: klist we're iterating.
Expand Down Expand Up @@ -246,3 +260,5 @@ struct klist_node * klist_next(struct klist_iter * i)
}

EXPORT_SYMBOL_GPL(klist_next);


0 comments on commit 8b0c250

Please sign in to comment.