Re: [PATCH] debugfs: remove no need inc_nlink

2018-12-22 Thread yangerkun




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

2018-12-22 Thread Greg KH
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

2018-12-21 Thread yangerkun
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