summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/ceph/debugfs.c7
-rw-r--r--fs/ceph/super.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
index b90fc3e1ff70..441484ab7e94 100644
--- a/fs/ceph/debugfs.c
+++ b/fs/ceph/debugfs.c
@@ -1,5 +1,6 @@
#include "ceph_debug.h"
+#include <linux/device.h>
#include <linux/module.h>
#include <linux/ctype.h>
#include <linux/debugfs.h>
@@ -24,6 +25,7 @@
* .../monc - mon client state
* .../dentry_lru - dump contents of dentry lru
* .../caps - expose cap (reservation) stats
+ * .../bdi - symlink to ../../bdi/something
*/
static struct dentry *ceph_debugfs_dir;
@@ -407,6 +409,10 @@ int ceph_debugfs_client_init(struct ceph_client *client)
if (!client->debugfs_caps)
goto out;
+ sprintf(name, "../../bdi/%s", dev_name(client->sb->s_bdi->dev));
+ client->debugfs_bdi = debugfs_create_symlink("bdi", client->debugfs_dir,
+ name);
+
return 0;
out:
@@ -416,6 +422,7 @@ out:
void ceph_debugfs_client_cleanup(struct ceph_client *client)
{
+ debugfs_remove(client->debugfs_bdi);
debugfs_remove(client->debugfs_caps);
debugfs_remove(client->debugfs_dentry_lru);
debugfs_remove(client->debugfs_osdmap);
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index de5e32414978..2304bd2844a4 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -143,6 +143,7 @@ struct ceph_client {
struct dentry *debugfs_monmap;
struct dentry *debugfs_mdsmap, *debugfs_osdmap;
struct dentry *debugfs_dir, *debugfs_dentry_lru, *debugfs_caps;
+ struct dentry *debugfs_bdi;
#endif
};