diff mbox

[v3] ceph: show all options in client_options even if option is equal with default value

Message ID 1522042685-26878-1-git-send-email-dongsheng.yang@easystack.cn (mailing list archive)
State New, archived
Headers show

Commit Message

Dongsheng Yang March 26, 2018, 5:38 a.m. UTC
As the /sys/kernel/debug/ceph/XXX/client_options only print options
which is different with default values, user are not able to know
the default values of them.

This patch make the /sys/kernel/debug/ceph/XXX/client_options to show
all options even if the option is equal with default value.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
---
 fs/ceph/super.c              |  2 +-
 include/linux/ceph/libceph.h |  2 +-
 net/ceph/ceph_common.c       | 10 +++++-----
 net/ceph/debugfs.c           |  2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)
diff mbox

Patch

diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index fb2bc9c..d752d58 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -496,7 +496,7 @@  static int ceph_show_options(struct seq_file *m, struct dentry *root)
 	seq_putc(m, ',');
 	pos = m->count;
 
-	ret = ceph_print_client_options(m, fsc->client);
+	ret = ceph_print_client_options(m, fsc->client, false);
 	if (ret)
 		return ret;
 
diff --git a/include/linux/ceph/libceph.h b/include/linux/ceph/libceph.h
index c2ec44c..a778c07 100644
--- a/include/linux/ceph/libceph.h
+++ b/include/linux/ceph/libceph.h
@@ -274,7 +274,7 @@  extern struct ceph_options *ceph_parse_options(char *options,
 			      const char *dev_name, const char *dev_name_end,
 			      int (*parse_extra_token)(char *c, void *private),
 			      void *private);
-int ceph_print_client_options(struct seq_file *m, struct ceph_client *client);
+int ceph_print_client_options(struct seq_file *m, struct ceph_client *client, bool skip_default);
 extern void ceph_destroy_options(struct ceph_options *opt);
 extern int ceph_compare_options(struct ceph_options *new_opt,
 				struct ceph_client *client);
diff --git a/net/ceph/ceph_common.c b/net/ceph/ceph_common.c
index 4d4c822..7f3f6d4 100644
--- a/net/ceph/ceph_common.c
+++ b/net/ceph/ceph_common.c
@@ -544,7 +544,7 @@  struct ceph_options *
 }
 EXPORT_SYMBOL(ceph_parse_options);
 
-int ceph_print_client_options(struct seq_file *m, struct ceph_client *client)
+int ceph_print_client_options(struct seq_file *m, struct ceph_client *client, bool skip_default)
 {
 	struct ceph_options *opt = client->options;
 	size_t pos = m->count;
@@ -570,16 +570,16 @@  int ceph_print_client_options(struct seq_file *m, struct ceph_client *client)
 	if ((opt->flags & CEPH_OPT_TCP_NODELAY) == 0)
 		seq_puts(m, "notcp_nodelay,");
 
-	if (opt->mount_timeout != CEPH_MOUNT_TIMEOUT_DEFAULT)
+	if (opt->mount_timeout != CEPH_MOUNT_TIMEOUT_DEFAULT || !skip_default)
 		seq_printf(m, "mount_timeout=%d,",
 			   jiffies_to_msecs(opt->mount_timeout) / 1000);
-	if (opt->osd_idle_ttl != CEPH_OSD_IDLE_TTL_DEFAULT)
+	if (opt->osd_idle_ttl != CEPH_OSD_IDLE_TTL_DEFAULT || !skip_default)
 		seq_printf(m, "osd_idle_ttl=%d,",
 			   jiffies_to_msecs(opt->osd_idle_ttl) / 1000);
-	if (opt->osd_keepalive_timeout != CEPH_OSD_KEEPALIVE_DEFAULT)
+	if (opt->osd_keepalive_timeout != CEPH_OSD_KEEPALIVE_DEFAULT || !skip_default)
 		seq_printf(m, "osdkeepalivetimeout=%d,",
 		    jiffies_to_msecs(opt->osd_keepalive_timeout) / 1000);
-	if (opt->osd_request_timeout != CEPH_OSD_REQUEST_TIMEOUT_DEFAULT)
+	if (opt->osd_request_timeout != CEPH_OSD_REQUEST_TIMEOUT_DEFAULT || !skip_default)
 		seq_printf(m, "osd_request_timeout=%d,",
 			   jiffies_to_msecs(opt->osd_request_timeout) / 1000);
 
diff --git a/net/ceph/debugfs.c b/net/ceph/debugfs.c
index 1eef680..def53cb 100644
--- a/net/ceph/debugfs.c
+++ b/net/ceph/debugfs.c
@@ -375,7 +375,7 @@  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);
+	ret = ceph_print_client_options(s, client, true);
 	if (ret)
 		return ret;