Re: [PATCH v2 7/7] Use simple_start_creating() in various places.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2025-09-10 at 08:37 +0100, Al Viro wrote:
> > ... and see viro/vfs.git#work.persistency for the part of the queue that
> > had order already settled down (I'm reshuffling the tail at the moment;
> > hypfs commit is still in the leftovers pile - the whole thing used to
> > have a really messy topology, with most of the prep work that used to
> > be the cause of that topology already in mainline - e.g. rpc_pipefs
> > series, securityfs one, etc.)
> 
> Speaking of which, nfsctl series contains the following and I'd like to
> make sure that behaviour being fixed there *is* just an accident...
> Could nfsd folks comment?
> 
> [PATCH] nfsctl: don't bump st_nlink of directory when creating a symlink in it
>     
> 
> apparently blindly copied from mkdir...
>     
> 
> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> ---
> diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
> index bc6b776fc657..282b961d8788 100644
> --- a/fs/nfsd/nfsctl.c
> +++ b/fs/nfsd/nfsctl.c
> @@ -1181,7 +1181,6 @@ static int __nfsd_symlink(struct inode *dir, struct dentry *dentry,
>  	inode->i_size = strlen(content);
>  
> 
>  	d_add(dentry, inode);
> -	inc_nlink(dir);
>  	fsnotify_create(dir, dentry);
>  	return 0;
>  }

That is increasing the link count on the parent because it's adding a
dentry to "dir". The link count on a dir doesn't have much meaning, but
why do we need to remove it here, but keep the one in __nfsd_mkdir?
-- 
Jeff Layton <jlayton@xxxxxxxxxx>





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux