@@ -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;
@@ -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);
@@ -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);
@@ -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;
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(-)