Commit 756acc2d61712a8cafe2aa6ad626c60a185d3645
1 parent
1d3382cbf0
Exists in
master
and in
4 other branches
list.h: new helper - hlist_add_fake()
Make node look as if it was on hlist, with hlist_del() working correctly. Usable without any locking... Convert a couple of places where we want to do that to inode->i_hash. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Showing 3 changed files with 8 additions and 2 deletions Side-by-side Diff
fs/hfsplus/inode.c
fs/jfs/jfs_imap.c
include/linux/list.h
... | ... | @@ -636,6 +636,12 @@ |
636 | 636 | next->next->pprev = &next->next; |
637 | 637 | } |
638 | 638 | |
639 | +/* after that we'll appear to be on some hlist and hlist_del will work */ | |
640 | +static inline void hlist_add_fake(struct hlist_node *n) | |
641 | +{ | |
642 | + n->pprev = &n->next; | |
643 | +} | |
644 | + | |
639 | 645 | /* |
640 | 646 | * Move a list from one list head to another. Fixup the pprev |
641 | 647 | * reference of the first entry if it exists. |