When a file/directory is already present in debugfs, and it is attempted
to be created again, be more specific about what file/directory is being
created and where it is trying to be created to give a bit more help to
developers to figure out the problem.

Cc: Stephen Rothwell <s...@canb.auug.org.au>
Cc: Rafael J. Wysocki <rafael.j.wyso...@intel.com>
Cc: Mark Brown <broo...@kernel.org>
Cc: Takashi Iwai <ti...@suse.de>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 fs/debugfs/inode.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
index 7f43c8acfcbf..5836312269e0 100644
--- a/fs/debugfs/inode.c
+++ b/fs/debugfs/inode.c
@@ -311,8 +311,13 @@ static struct dentry *start_creating(const char *name, 
struct dentry *parent)
        inode_lock(d_inode(parent));
        dentry = lookup_one_len(name, parent, strlen(name));
        if (!IS_ERR(dentry) && d_really_is_positive(dentry)) {
+               if (d_is_dir(dentry))
+                       pr_err("Directory '%s' with parent '%s' already 
present!\n",
+                              name, parent->d_name.name);
+               else
+                       pr_err("File '%s' in directory '%s' already present!\n",
+                              name, parent->d_name.name);
                dput(dentry);
-               pr_err("File '%s' already present!\n", name);
                dentry = ERR_PTR(-EEXIST);
        }
 
-- 
2.22.0

Reply via email to