···5454 if (!dent)5555 return -ENOMEM;56565757- INIT_LIST_HEAD(&dent->fidlist);5757+ INIT_HLIST_HEAD(&dent->fidlist);5858 dentry->d_fsdata = dent;5959 }60606161 spin_lock(&dentry->d_lock);6262- list_add(&fid->dlist, &dent->fidlist);6262+ hlist_add_head(&fid->dlist, &dent->fidlist);6363 spin_unlock(&dentry->d_lock);64646565 return 0;···8484 dent = (struct v9fs_dentry *) dentry->d_fsdata;8585 ret = NULL;8686 if (dent) {8787+ struct hlist_node *n;8788 spin_lock(&dentry->d_lock);8888- list_for_each_entry(fid, &dent->fidlist, dlist) {8989+ hlist_for_each_entry(fid, n, &dent->fidlist, dlist) {8990 if (any || uid_eq(fid->uid, uid)) {9091 ret = fid;9192 break;
+1-1
fs/9p/fid.h
···4040 * Design and Implementation of the Linux 9P File System documentation4141 */4242struct v9fs_dentry {4343- struct list_head fidlist;4343+ struct hlist_head fidlist;4444};45454646struct p9_fid *v9fs_fid_lookup(struct dentry *dentry);
···192192 void *rdir;193193194194 struct list_head flist;195195- struct list_head dlist; /* list of all fids attached to a dentry */195195+ struct hlist_node dlist; /* list of all fids attached to a dentry */196196};197197198198/**