[PATCH v2 23/50] convert spufs

bot+bpf-ci at kernel.org bot+bpf-ci at kernel.org
Tue Oct 28 12:15:38 AEDT 2025


```
commit 0e359e5d712e3abcf8056b43da12f092c37e9f21
Author: Al Viro <viro at zeniv.linux.org.uk>

convert spufs

This commit converts spufs to use d_make_persistent() instead of d_add()
and d_instantiate(). The conversion includes making dput() unconditional
in callers and changing from kill_litter_super to kill_anon_super.

> diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
> index 7ec60290a..f21f7a76e 100644
> --- a/arch/powerpc/platforms/cell/spufs/inode.c
> +++ b/arch/powerpc/platforms/cell/spufs/inode.c

[ ... ]

> @@ -241,11 +240,10 @@ spufs_mkdir(struct inode *dir, struct dentry *dentry, unsigned int flags,
>
>  	inode_lock(inode);
>
> -	dget(dentry);
>  	inc_nlink(dir);
>  	inc_nlink(inode);
>
> -	d_instantiate(dentry, inode);
> +	d_make_persistent(dentry, inode);

[ ... ]

> @@ -479,10 +477,9 @@ spufs_mkgang(struct inode *dir, struct dentry *dentry, umode_t mode)
>  	inode->i_op = &simple_dir_inode_operations;
>  	inode->i_fop = &simple_dir_operations;
>
> -	d_instantiate(dentry, inode);
> -	dget(dentry);
>  	inc_nlink(dir);
>  	inc_nlink(d_inode(dentry));
> +	d_make_persistent(dentry, inode);
>  	return ret;

In spufs_mkgang(), can this call inc_nlink(d_inode(dentry)) before
d_make_persistent() instantiates the dentry? The dentry is not
instantiated until d_make_persistent() is called, so d_inode(dentry)
returns NULL here.

In the old code, d_instantiate() was called first, then
inc_nlink(d_inode(dentry)). For comparison, spufs_mkdir() uses
inc_nlink(inode) directly instead of inc_nlink(d_inode(dentry)).

[ ... ]


```

---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md

In-Reply-To-Subject: `convert spufs`
CI run summary: https://github.com/kernel-patches/bpf/actions/runs/18860600716


More information about the Linuxppc-dev mailing list