From 0006c14e7c985a3e75600143cdb518c9fa36c3b0 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sun, 22 Mar 2009 23:10:44 +0100 Subject: [PATCH] --- yaml --- r: 141027 b: refs/heads/master c: c0f92ba99bdeaf35f9c580291b4e1a657c67fbd4 h: refs/heads/master i: 141025: fbc3f34bc523ce94110ab1dc7f60b3177c768828 141023: ba49a648d1d72639a314033cd7294146739d6f6c v: v3 --- [refs] | 2 +- trunk/fs/debugfs/inode.c | 16 ++++++++++++++++ trunk/include/linux/debugfs.h | 8 ++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 423a259d3d90..39b4f131fcc2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b8b94265337f83b7db9c5f429b1769d463d7da8c +refs/heads/master: c0f92ba99bdeaf35f9c580291b4e1a657c67fbd4 diff --git a/trunk/fs/debugfs/inode.c b/trunk/fs/debugfs/inode.c index 81ae9ea3c6e1..0662ba6de85a 100644 --- a/trunk/fs/debugfs/inode.c +++ b/trunk/fs/debugfs/inode.c @@ -30,6 +30,7 @@ static struct vfsmount *debugfs_mount; static int debugfs_mount_count; +static bool debugfs_registered; static struct inode *debugfs_get_inode(struct super_block *sb, int mode, dev_t dev) { @@ -496,6 +497,16 @@ struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry, } EXPORT_SYMBOL_GPL(debugfs_rename); +/** + * debugfs_initialized - Tells whether debugfs has been registered + */ +bool debugfs_initialized(void) +{ + return debugfs_registered; +} +EXPORT_SYMBOL_GPL(debugfs_initialized); + + static struct kobject *debug_kobj; static int __init debugfs_init(void) @@ -509,11 +520,16 @@ static int __init debugfs_init(void) retval = register_filesystem(&debug_fs_type); if (retval) kobject_put(debug_kobj); + else + debugfs_registered = true; + return retval; } static void __exit debugfs_exit(void) { + debugfs_registered = false; + simple_release_fs(&debugfs_mount, &debugfs_mount_count); unregister_filesystem(&debug_fs_type); kobject_put(debug_kobj); diff --git a/trunk/include/linux/debugfs.h b/trunk/include/linux/debugfs.h index af0e01d4c663..eb5c2ba2f81a 100644 --- a/trunk/include/linux/debugfs.h +++ b/trunk/include/linux/debugfs.h @@ -71,6 +71,9 @@ struct dentry *debugfs_create_bool(const char *name, mode_t mode, struct dentry *debugfs_create_blob(const char *name, mode_t mode, struct dentry *parent, struct debugfs_blob_wrapper *blob); + +bool debugfs_initialized(void); + #else #include @@ -183,6 +186,11 @@ static inline struct dentry *debugfs_create_blob(const char *name, mode_t mode, return ERR_PTR(-ENODEV); } +static inline bool debugfs_initialized(void) +{ + return false; +} + #endif #endif