* [RFC][PATCH 1/2] cifs: show enabled features in /proc
@ 2010-07-30 9:59 Suresh Jayaraman
[not found] ` <4C52A287.7020904-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Suresh Jayaraman @ 2010-07-30 9:59 UTC (permalink / raw)
To: Steve French (smfltc); +Cc: Jeff Layton, linux-cifs-u79uwXL29TY76Z2rM5mHXA
Based on the previous discussions and suggestion by Jeff on providing a way
to tell about compiled kernel config options, I wrote a simple patch. It seems
useful. But, feel free to ignore this patch if you think it is not..
From: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
Subject: [RFC][PATCH 1/2] cifs: show enabled features in /proc
Here's a simple patch to show the compiled in CIFS features. This patch adds a
/proc file called "features" when read will show the features enabled in the
running kernel as shown below:
$cat /proc/fs/cifs/features
# CIFS features enabled
dfs spnego fsc
This provides a definitive way to tell what features are currently enabled.
This could be useful as a debugging information as well.
Signed-off-by: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
Cc: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
fs/cifs/cifs_debug.c | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
index 4fce6e6..af5dbf7 100644
--- a/fs/cifs/cifs_debug.c
+++ b/fs/cifs/cifs_debug.c
@@ -402,6 +402,7 @@ static const struct file_operations cifs_multiuser_mount_proc_fops;
static const struct file_operations cifs_security_flags_proc_fops;
static const struct file_operations cifs_experimental_proc_fops;
static const struct file_operations cifs_linux_ext_proc_fops;
+static const struct file_operations cifs_feat_proc_fops;
void
cifs_proc_init(void)
@@ -428,6 +429,8 @@ cifs_proc_init(void)
&cifs_security_flags_proc_fops);
proc_create("LookupCacheEnabled", 0, proc_fs_cifs,
&cifs_lookup_cache_proc_fops);
+ proc_create("features", 0, proc_fs_cifs,
+ &cifs_feat_proc_fops);
}
void
@@ -448,6 +451,7 @@ cifs_proc_clean(void)
remove_proc_entry("LinuxExtensionsEnabled", proc_fs_cifs);
remove_proc_entry("Experimental", proc_fs_cifs);
remove_proc_entry("LookupCacheEnabled", proc_fs_cifs);
+ remove_proc_entry("features", proc_fs_cifs);
remove_proc_entry("fs/cifs", NULL);
}
@@ -791,6 +795,38 @@ static const struct file_operations cifs_security_flags_proc_fops = {
.release = single_release,
.write = cifs_security_flags_proc_write,
};
+
+static int cifs_feat_proc_show(struct seq_file *m, void *v)
+{
+ seq_printf(m, "# CIFS features enabled\n");
+#ifdef CONFIG_CIFS_DFS_UPCALL
+ seq_printf(m, "dfs");
+ seq_putc(m, ' ');
+#endif
+#ifdef CONFIG_CIFS_UPCALL
+ seq_printf(m, "spnego");
+ seq_putc(m, ' ');
+#endif
+#ifdef CONFIG_CIFS_FSCACHE
+ seq_printf(m, "fsc");
+ seq_putc(m, ' ');
+#endif
+ seq_putc(m, '\n');
+ return 0;
+}
+
+static int cifs_feat_proc_open(struct inode *inode, struct file *file)
+{
+ return single_open(file, cifs_feat_proc_show, NULL);
+}
+
+static const struct file_operations cifs_feat_proc_fops = {
+ .owner = THIS_MODULE,
+ .open = cifs_feat_proc_open,
+ .read = seq_read,
+ .llseek = seq_lseek,
+ .release = single_release,
+};
#else
inline void cifs_proc_init(void)
{
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [RFC][PATCH 1/2] cifs: show enabled features in /proc
[not found] ` <4C52A287.7020904-l3A5Bk7waGM@public.gmane.org>
@ 2010-07-30 11:09 ` Jeff Layton
[not found] ` <20100730070933.12ddc467-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Jeff Layton @ 2010-07-30 11:09 UTC (permalink / raw)
To: Suresh Jayaraman; +Cc: Steve French (smfltc), linux-cifs-u79uwXL29TY76Z2rM5mHXA
On Fri, 30 Jul 2010 15:29:35 +0530
Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org> wrote:
> Based on the previous discussions and suggestion by Jeff on providing a way
> to tell about compiled kernel config options, I wrote a simple patch. It seems
> useful. But, feel free to ignore this patch if you think it is not..
>
> From: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
> Subject: [RFC][PATCH 1/2] cifs: show enabled features in /proc
>
> Here's a simple patch to show the compiled in CIFS features. This patch adds a
> /proc file called "features" when read will show the features enabled in the
> running kernel as shown below:
>
> $cat /proc/fs/cifs/features
> # CIFS features enabled
> dfs spnego fsc
>
> This provides a definitive way to tell what features are currently enabled.
> This could be useful as a debugging information as well.
>
> Signed-off-by: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
> Cc: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
> fs/cifs/cifs_debug.c | 36 ++++++++++++++++++++++++++++++++++++
> 1 files changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
> index 4fce6e6..af5dbf7 100644
> --- a/fs/cifs/cifs_debug.c
> +++ b/fs/cifs/cifs_debug.c
> @@ -402,6 +402,7 @@ static const struct file_operations cifs_multiuser_mount_proc_fops;
> static const struct file_operations cifs_security_flags_proc_fops;
> static const struct file_operations cifs_experimental_proc_fops;
> static const struct file_operations cifs_linux_ext_proc_fops;
> +static const struct file_operations cifs_feat_proc_fops;
>
> void
> cifs_proc_init(void)
> @@ -428,6 +429,8 @@ cifs_proc_init(void)
> &cifs_security_flags_proc_fops);
> proc_create("LookupCacheEnabled", 0, proc_fs_cifs,
> &cifs_lookup_cache_proc_fops);
> + proc_create("features", 0, proc_fs_cifs,
> + &cifs_feat_proc_fops);
> }
>
> void
> @@ -448,6 +451,7 @@ cifs_proc_clean(void)
> remove_proc_entry("LinuxExtensionsEnabled", proc_fs_cifs);
> remove_proc_entry("Experimental", proc_fs_cifs);
> remove_proc_entry("LookupCacheEnabled", proc_fs_cifs);
> + remove_proc_entry("features", proc_fs_cifs);
> remove_proc_entry("fs/cifs", NULL);
> }
>
> @@ -791,6 +795,38 @@ static const struct file_operations cifs_security_flags_proc_fops = {
> .release = single_release,
> .write = cifs_security_flags_proc_write,
> };
> +
> +static int cifs_feat_proc_show(struct seq_file *m, void *v)
> +{
> + seq_printf(m, "# CIFS features enabled\n");
> +#ifdef CONFIG_CIFS_DFS_UPCALL
> + seq_printf(m, "dfs");
> + seq_putc(m, ' ');
> +#endif
> +#ifdef CONFIG_CIFS_UPCALL
> + seq_printf(m, "spnego");
> + seq_putc(m, ' ');
> +#endif
> +#ifdef CONFIG_CIFS_FSCACHE
> + seq_printf(m, "fsc");
> + seq_putc(m, ' ');
> +#endif
> + seq_putc(m, '\n');
> + return 0;
> +}
> +
> +static int cifs_feat_proc_open(struct inode *inode, struct file *file)
> +{
> + return single_open(file, cifs_feat_proc_show, NULL);
> +}
> +
> +static const struct file_operations cifs_feat_proc_fops = {
> + .owner = THIS_MODULE,
> + .open = cifs_feat_proc_open,
> + .read = seq_read,
> + .llseek = seq_lseek,
> + .release = single_release,
> +};
> #else
> inline void cifs_proc_init(void)
> {
> --
> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Looks good. Now that I've given this more thought though...
I wonder if this would be better done as a new line near the beginning
of /proc/fs/cifs/DebugData. Maybe:
Features: dfs spnego fsc
People often provide that info already when reporting bugs. We wouldn't
need to ask for anything new that way.
Thoughts?
--
Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [RFC][PATCH 1/2] cifs: show enabled features in /proc
[not found] ` <20100730070933.12ddc467-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
@ 2010-07-30 11:29 ` Suresh Jayaraman
0 siblings, 0 replies; 3+ messages in thread
From: Suresh Jayaraman @ 2010-07-30 11:29 UTC (permalink / raw)
To: Jeff Layton; +Cc: Steve French (smfltc), linux-cifs-u79uwXL29TY76Z2rM5mHXA
On 07/30/2010 04:39 PM, Jeff Layton wrote:
> On Fri, 30 Jul 2010 15:29:35 +0530
> Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org> wrote:
>
>> Based on the previous discussions and suggestion by Jeff on providing a way
>> to tell about compiled kernel config options, I wrote a simple patch. It seems
>> useful. But, feel free to ignore this patch if you think it is not..
>>
>> From: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
>> Subject: [RFC][PATCH 1/2] cifs: show enabled features in /proc
>>
>> Here's a simple patch to show the compiled in CIFS features. This patch adds a
>> /proc file called "features" when read will show the features enabled in the
>> running kernel as shown below:
>>
>> $cat /proc/fs/cifs/features
>> # CIFS features enabled
>> dfs spnego fsc
>>
>> This provides a definitive way to tell what features are currently enabled.
>> This could be useful as a debugging information as well.
>>
>
> Looks good. Now that I've given this more thought though...
>
> I wonder if this would be better done as a new line near the beginning
> of /proc/fs/cifs/DebugData. Maybe:
>
> Features: dfs spnego fsc
>
> People often provide that info already when reporting bugs. We wouldn't
> need to ask for anything new that way.
>
Good point. Makes it more simpler (no additional proc file needed).
Also, we need to add xattr and posix as well?
I'll respin it in a while..
Thanks,
--
Suresh Jayaraman
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-07-30 11:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-30 9:59 [RFC][PATCH 1/2] cifs: show enabled features in /proc Suresh Jayaraman
[not found] ` <4C52A287.7020904-l3A5Bk7waGM@public.gmane.org>
2010-07-30 11:09 ` Jeff Layton
[not found] ` <20100730070933.12ddc467-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2010-07-30 11:29 ` Suresh Jayaraman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.