aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/debugfs.h
diff options
context:
space:
mode:
authorOmar Sandoval <osandov@fb.com>2017-01-31 14:53:17 -0800
committerJens Axboe <axboe@fb.com>2017-02-02 10:20:16 -0700
commita7c5437b0bbec5165df6eb1efc5e37dc40b9e05d (patch)
treed37659f3ab5b8baccafe06442ca3fa6a1048503c /include/linux/debugfs.h
parentscsi, block: fix duplicate bdi name registration crashes (diff)
downloadwireguard-linux-a7c5437b0bbec5165df6eb1efc5e37dc40b9e05d.tar.xz
wireguard-linux-a7c5437b0bbec5165df6eb1efc5e37dc40b9e05d.zip
debugfs: add debugfs_lookup()
We don't always have easy access to the dentry of a file or directory we created in debugfs. Add a helper which allows us to get a dentry we previously created. The motivation for this change is a problem with blktrace and the blk-mq debugfs entries introduced in 07e4fead45e6 ("blk-mq: create debugfs directory tree"). Namely, in some cases, the directory that blktrace needs to create may already exist, but in other cases, it may not. We _could_ rely on a bunch of implied knowledge to decide whether to create the directory or not, but it's much cleaner on our end to just look it up. Signed-off-by: Omar Sandoval <osandov@fb.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/linux/debugfs.h')
-rw-r--r--include/linux/debugfs.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h
index 014cc564d1c4..c0befcf41b58 100644
--- a/include/linux/debugfs.h
+++ b/include/linux/debugfs.h
@@ -80,6 +80,8 @@ static const struct file_operations __fops = { \
#if defined(CONFIG_DEBUG_FS)
+struct dentry *debugfs_lookup(const char *name, struct dentry *parent);
+
struct dentry *debugfs_create_file(const char *name, umode_t mode,
struct dentry *parent, void *data,
const struct file_operations *fops);
@@ -181,6 +183,12 @@ ssize_t debugfs_write_file_bool(struct file *file, const char __user *user_buf,
* want to duplicate the design decision mistakes of procfs and devfs again.
*/
+static inline struct dentry *debugfs_lookup(const char *name,
+ struct dentry *parent)
+{
+ return ERR_PTR(-ENODEV);
+}
+
static inline struct dentry *debugfs_create_file(const char *name, umode_t mode,
struct dentry *parent, void *data,
const struct file_operations *fops)