Re: [PATCH] debugfs: remove no need inc_nlink
Greg KH wrote on 2018/12/22 15:32: On Sat, Dec 22, 2018 at 11:41:11AM +0800, yangerkun wrote: Remove inc_nlink in debugfs_create_automount, or this inode will never be free. Signed-off-by: yangerkun --- fs/debugfs/inode.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index 13b0135..9e6e225 100644 --- a/fs/debugfs/inode.c +++ b/fs/debugfs/inode.c @@ -516,8 +516,6 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent) inode->i_op = _dir_inode_operations; inode->i_fop = _dir_operations; - /* directory inodes start off with i_nlink == 2 (for "." entry) */ - inc_nlink(inode); Really? How did you test this and why does removing this line directly go against what the comment says? So sorry for this, the fuction should be modify is debugfs_create_automount. Patch will coming soon. Thanks, Kun. this feels really wrong... greg k-h .
Re: [PATCH] debugfs: remove no need inc_nlink
On Sat, Dec 22, 2018 at 11:41:11AM +0800, yangerkun wrote: > Remove inc_nlink in debugfs_create_automount, or this inode will never > be free. > > Signed-off-by: yangerkun > --- > fs/debugfs/inode.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c > index 13b0135..9e6e225 100644 > --- a/fs/debugfs/inode.c > +++ b/fs/debugfs/inode.c > @@ -516,8 +516,6 @@ struct dentry *debugfs_create_dir(const char *name, > struct dentry *parent) > inode->i_op = _dir_inode_operations; > inode->i_fop = _dir_operations; > > - /* directory inodes start off with i_nlink == 2 (for "." entry) */ > - inc_nlink(inode); Really? How did you test this and why does removing this line directly go against what the comment says? this feels really wrong... greg k-h
[PATCH] debugfs: remove no need inc_nlink
Remove inc_nlink in debugfs_create_automount, or this inode will never be free. Signed-off-by: yangerkun --- fs/debugfs/inode.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index 13b0135..9e6e225 100644 --- a/fs/debugfs/inode.c +++ b/fs/debugfs/inode.c @@ -516,8 +516,6 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent) inode->i_op = _dir_inode_operations; inode->i_fop = _dir_operations; - /* directory inodes start off with i_nlink == 2 (for "." entry) */ - inc_nlink(inode); d_instantiate(dentry, inode); inc_nlink(d_inode(dentry->d_parent)); fsnotify_mkdir(d_inode(dentry->d_parent), dentry); -- 2.9.5