diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2015-03-25 21:07:41 +0300 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2015-04-20 18:55:39 +0300 |
commit | 5cf7bd30120ead3db43ef9074be38018d9acf22f (patch) | |
tree | 30206e8a84384c413eee7a825a5238391193f0bd /net/ceph/debugfs.c | |
parent | ff40f9ae95917b72b6acb6057471c99054b6ee24 (diff) | |
download | linux-5cf7bd30120ead3db43ef9074be38018d9acf22f.tar.gz linux-5cf7bd30120ead3db43ef9074be38018d9acf22f.tar.bz2 linux-5cf7bd30120ead3db43ef9074be38018d9acf22f.zip |
libceph: expose client options through debugfs
Add a client_options attribute for showing libceph options.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'net/ceph/debugfs.c')
-rw-r--r-- | net/ceph/debugfs.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/net/ceph/debugfs.c b/net/ceph/debugfs.c index 14d9995097cc..593dc2eabcc8 100644 --- a/net/ceph/debugfs.c +++ b/net/ceph/debugfs.c @@ -22,6 +22,7 @@ * .../monmap - current monmap * .../osdc - active osd requests * .../monc - mon client state + * .../client_options - libceph-only (i.e. not rbd or cephfs) options * .../dentry_lru - dump contents of dentry lru * .../caps - expose cap (reservation) stats * .../bdi - symlink to ../../bdi/something @@ -177,10 +178,24 @@ static int osdc_show(struct seq_file *s, void *pp) return 0; } +static int client_options_show(struct seq_file *s, void *p) +{ + struct ceph_client *client = s->private; + int ret; + + ret = ceph_print_client_options(s, client); + if (ret) + return ret; + + seq_putc(s, '\n'); + return 0; +} + CEPH_DEFINE_SHOW_FUNC(monmap_show) CEPH_DEFINE_SHOW_FUNC(osdmap_show) CEPH_DEFINE_SHOW_FUNC(monc_show) CEPH_DEFINE_SHOW_FUNC(osdc_show) +CEPH_DEFINE_SHOW_FUNC(client_options_show) int ceph_debugfs_init(void) { @@ -242,6 +257,14 @@ int ceph_debugfs_client_init(struct ceph_client *client) if (!client->debugfs_osdmap) goto out; + client->debugfs_options = debugfs_create_file("client_options", + 0600, + client->debugfs_dir, + client, + &client_options_show_fops); + if (!client->debugfs_options) + goto out; + return 0; out: @@ -252,6 +275,7 @@ out: void ceph_debugfs_client_cleanup(struct ceph_client *client) { dout("ceph_debugfs_client_cleanup %p\n", client); + debugfs_remove(client->debugfs_options); debugfs_remove(client->debugfs_osdmap); debugfs_remove(client->debugfs_monmap); debugfs_remove(client->osdc.debugfs_file); |