diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2023-11-07 10:00:39 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2023-11-25 10:32:13 +0300 |
commit | da549bdd15c295c24b2ee7ffe7ad0f3877fa8a87 (patch) | |
tree | 15dbab67479c82f6138f801dce00f04c357438a6 /arch/powerpc/platforms/cell/spufs | |
parent | b31559f8e471f402cd71117f35b9cde52d192138 (diff) | |
download | linux-da549bdd15c295c24b2ee7ffe7ad0f3877fa8a87.tar.xz |
dentry: switch the lists of children to hlist
Saves a pointer per struct dentry and actually makes the things less
clumsy. Cleaned the d_walk() and dcache_readdir() a bit by use
of hlist_for_... iterators.
A couple of new helpers - d_first_child() and d_next_sibling(),
to make the expressions less awful.
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/inode.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index 10c1320adfd0..030de2b8c145 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c @@ -145,10 +145,11 @@ spufs_evict_inode(struct inode *inode) static void spufs_prune_dir(struct dentry *dir) { - struct dentry *dentry, *tmp; + struct dentry *dentry; + struct hlist_node *n; inode_lock(d_inode(dir)); - list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_child) { + hlist_for_each_entry_safe(dentry, n, &dir->d_children, d_sib) { spin_lock(&dentry->d_lock); if (simple_positive(dentry)) { dget_dlock(dentry); |