diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-27 22:51:08 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-27 22:51:08 -0500 |
commit | c4d30967f3020cda9df9ee22af79cd1f2c284244 (patch) | |
tree | 744565daf8f1d711c0186c3261ebf42eebe1a44e /fs/9p/vfs_dentry.c | |
parent | 634095dab2a2001844fc8b26673c0cb14a766cdf (diff) |
9p: turn fid->dlist into hlist
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/9p/vfs_dentry.c')
-rw-r--r-- | fs/9p/vfs_dentry.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/9p/vfs_dentry.c b/fs/9p/vfs_dentry.c index 9ad68628522c..fcd49833ef80 100644 --- a/fs/9p/vfs_dentry.c +++ b/fs/9p/vfs_dentry.c | |||
@@ -84,16 +84,13 @@ static int v9fs_cached_dentry_delete(const struct dentry *dentry) | |||
84 | static void v9fs_dentry_release(struct dentry *dentry) | 84 | static void v9fs_dentry_release(struct dentry *dentry) |
85 | { | 85 | { |
86 | struct v9fs_dentry *dent; | 86 | struct v9fs_dentry *dent; |
87 | struct p9_fid *temp, *current_fid; | ||
88 | |||
89 | p9_debug(P9_DEBUG_VFS, " dentry: %s (%p)\n", | 87 | p9_debug(P9_DEBUG_VFS, " dentry: %s (%p)\n", |
90 | dentry->d_name.name, dentry); | 88 | dentry->d_name.name, dentry); |
91 | dent = dentry->d_fsdata; | 89 | dent = dentry->d_fsdata; |
92 | if (dent) { | 90 | if (dent) { |
93 | list_for_each_entry_safe(current_fid, temp, &dent->fidlist, | 91 | struct hlist_node *p, *n; |
94 | dlist) { | 92 | hlist_for_each_safe(p, n, &dent->fidlist) |
95 | p9_client_clunk(current_fid); | 93 | p9_client_clunk(hlist_entry(p, struct p9_fid, dlist)); |
96 | } | ||
97 | 94 | ||
98 | kfree(dent); | 95 | kfree(dent); |
99 | dentry->d_fsdata = NULL; | 96 | dentry->d_fsdata = NULL; |