Skip to contentSkip to conversation

cifs: document 'fsc' mount option

PATCH In review Suresh Jayaraman 5 participants 11 messages Jul 27, 2010 – Jul 30, 2010 6 messages not in the archive

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cifs: document 'fsc' mount option

Document the newly added local caching feature using FS-Cache. This patch could be queued and considered once the local caching patches gets merged upstream.

---
 doc/mount.cifs.8.xml |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
doc/mount.cifs.8.xml +17 -0
index 4937550..2200746 100644
@@ -534,6 +534,23 @@ permissions in memory that can't be stored on the server. This information can d
                 maximum wsize currently allowed by CIFS is 57344 (fourteen
                 4096 byte pages)</para></listitem>
 	</varlistentry>
+	<varlistentry>
+		<term>fsc</term>
+
+		<listitem><para>Enable local disk caching using FS-Cache
+		for cifs. This option could be useful to improve performance
+		on a slow link, heavily loaded server and/or network
+		where reading from the disk is faster than reading from the
+		server (over the network). This could also impact the
+		scalability positively as the number of calls to the server
+		are reduced. But, be warned that local caching is not suitable
+		for all workloads, for e.g., read-once type workloads. So
+		you need to consider carefully the situation/workload before
+		using this option.
+		NOTE: You also need to have cachefilesd daemon installed and
+		running to make the cache operational.
+                </para></listitem>
+	</varlistentry>
 	 <varlistentry>
                 <term>--verbose</term>
                 <listitem><para>Print additional debugging information for the mount. Note that this parameter must be specified before the -o. For example:</para><para>mount -t cifs //server/share /mnt --verbose -o user=username</para></listitem>
#2 lore raw
In reply to a message not in the archive
Quoted 24 lines · On Tue, 27 Jul 2010 19:20:00 +0530 Suresh Jayaraman…

Document the newly added local caching feature using FS-Cache. This patch could be queued and considered once the local caching patches gets merged upstream.

---
 doc/mount.cifs.8.xml |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
doc/mount.cifs.8.xml +7 -0
index 4937550..2200746 100644
@@ -534,6 +534,23 @@ permissions in memory that can't be stored on the server. This information can d
                 maximum wsize currently allowed by CIFS is 57344 (fourteen
                 4096 byte pages)</para></listitem>
 	</varlistentry>
+	<varlistentry>
+		<term>fsc</term>
+
+		<listitem><para>Enable local disk caching using FS-Cache
+		for cifs. This option could be useful to improve performance
+		on a slow link, heavily loaded server and/or network
+		where reading from the disk is faster than reading from the

doc/mount.cifs.8.xml permissions in memory that can't be stored on the server. This information can d · line 553

Quoted 10 lines
doc/mount.cifs.8.xml +10 -0
+		server (over the network). This could also impact the
+		scalability positively as the number of calls to the server
+		are reduced. But, be warned that local caching is not suitable
+		for all workloads, for e.g., read-once type workloads. So
+		you need to consider carefully the situation/workload before
+		using this option.
+		NOTE: You also need to have cachefilesd daemon installed and
+		running to make the cache operational.
+                </para></listitem>
+	</varlistentry>

You may want to mention somewhere that this is only available in recent kernels that have been built with fsc turned on.

Other than that, this and the mount.cifs patch look fine and I'll plan to commit them before the upcoming 4.6 release.

Quoted 3 lines
doc/mount.cifs.8.xml +0 -0
 	 <varlistentry>
                 <term>--verbose</term>
                 <listitem><para>Print additional debugging information for the mount. Note that this parameter must be specified before the -o. For example:</para><para>mount -t cifs //server/share /mnt --verbose -o user=username</para></listitem>
Signature · 1 line
Jeff Layton <[email protected]>
#4 lore raw
In reply to a message not in the archive

Yes - I agree with Jeff, need to add the mention of the config option and perhaps how to tell if fsc feature is available in kernel.

Quoted 51 lines · Jeff Layton
Quoted 26 lines · On Tue, 27 Jul 2010 19:20:00 +0530 Suresh Jayaraman…

Document the newly added local caching feature using FS-Cache. This patch could be queued and considered once the local caching patches gets merged upstream.

---
 doc/mount.cifs.8.xml |   17 +++++++++++++++++

 1 files changed, 17 insertions(+), 0 deletions(-)
doc/mount.cifs.8.xml +0 -0
index 4937550..2200746 100644
@@ -534,6 +534,23 @@ permissions in memory that can't be stored on the server. This information can d

                 maximum wsize currently allowed by CIFS is 57344 (fourteen 4096 byte pages)</para></listitem> </varlistentry>
+     <varlistentry>
+             <term>fsc</term>
+
+             <listitem><para>Enable local disk caching using FS-Cache
+             for cifs. This option could be useful to improve performance
+             on a slow link, heavily loaded server and/or network
+             where reading from the disk is faster than reading from the
+             server (over the network). This could also impact the
+             scalability positively as the number of calls to the server

Quoted 8 lines

+             are reduced. But, be warned that local caching is not suitable
+             for all workloads, for e.g., read-once type workloads. So
+             you need to consider carefully the situation/workload before
+             using this option.
+             NOTE: You also need to have cachefilesd daemon installed and
+             running to make the cache operational.
+                </para></listitem>
+     </varlistentry>

You may want to mention somewhere that this is only available in recent kernels that have been built with fsc turned on.

Other than that, this and the mount.cifs patch look fine and I'll plan to commit them before the upcoming 4.6 release.

Quoted 3 lines

       <varlistentry>
                 <term>--verbose</term>
                 <listitem><para>Print additional debugging information for the mount. Note that this parameter must be specified before the -o. For example:</para><para>mount -t cifs //server/share /mnt --verbose -o user=username</para></listitem>

--
Jeff Layton <[email protected]>

Signature · 3 lines
Thanks,

Steve
#6 lore raw
In reply to a message not in the archive
Quoted 3 lines · On Tue, 27 Jul 2010 10:13:14 -0500 Steve French…

Yes - I agree with Jeff, need to add the mention of the config option and perhaps how to tell if fsc feature is available in kernel.

How would one tell? :)

Quoted 55 lines · Jeff Layton
Quoted 51 lines
Quoted 26 lines · On Tue, 27 Jul 2010 19:20:00 +0530 Suresh Jayaraman…

Document the newly added local caching feature using FS-Cache. This patch could be queued and considered once the local caching patches gets merged upstream.

---
 doc/mount.cifs.8.xml |   17 +++++++++++++++++

 1 files changed, 17 insertions(+), 0 deletions(-)
doc/mount.cifs.8.xml +0 -0
index 4937550..2200746 100644
@@ -534,6 +534,23 @@ permissions in memory that can't be stored on the server. This information can d

                 maximum wsize currently allowed by CIFS is 57344 (fourteen 4096 byte pages)</para></listitem> </varlistentry>
+     <varlistentry>
+             <term>fsc</term>
+
+             <listitem><para>Enable local disk caching using FS-Cache
+             for cifs. This option could be useful to improve performance
+             on a slow link, heavily loaded server and/or network
+             where reading from the disk is faster than reading from the
+             server (over the network). This could also impact the
+             scalability positively as the number of calls to the server

Quoted 8 lines

+             are reduced. But, be warned that local caching is not suitable
+             for all workloads, for e.g., read-once type workloads. So
+             you need to consider carefully the situation/workload before
+             using this option.
+             NOTE: You also need to have cachefilesd daemon installed and
+             running to make the cache operational.
+                </para></listitem>
+     </varlistentry>

You may want to mention somewhere that this is only available in recent kernels that have been built with fsc turned on.

Other than that, this and the mount.cifs patch look fine and I'll plan to commit them before the upcoming 4.6 release.

Quoted 3 lines

       <varlistentry>
                 <term>--verbose</term>
                 <listitem><para>Print additional debugging information for the mount. Note that this parameter must be specified before the -o. For example:</para><para>mount -t cifs //server/share /mnt --verbose -o user=username</para></listitem>

--
Jeff Layton <[email protected]>

Signature · 1 line
Jeff Layton <[email protected]>
#8 lore raw
In reply to a message not in the archive

scripts/extract-ikconfig could be run against the image (or look at /proc/config.gz) - but unless there is an easier way to view kernel config options on particular distros via distro specific tools - probably easier just to note that CONFIG_FSCACHE must be selected in the kernel build (since it forces dependencies on the other kernel options being set)

Quoted 69 lines · Jeff Layton
Quoted 3 lines · On Tue, 27 Jul 2010 10:13:14 -0500 Steve French…

Yes - I agree with Jeff, need to add the mention of the config option and perhaps how to tell if fsc feature is available in kernel.

How would one tell? :)

Quoted 45 lines · Jeff Layton
Quoted 44 lines
Quoted 26 lines · On Tue, 27 Jul 2010 19:20:00 +0530 Suresh Jayaraman…

Document the newly added local caching feature using FS-Cache. This patch could be queued and considered once the local caching patches gets merged upstream.

---
 doc/mount.cifs.8.xml |   17 +++++++++++++++++

 1 files changed, 17 insertions(+), 0 deletions(-)
doc/mount.cifs.8.xml +0 -0
index 4937550..2200746 100644
@@ -534,6 +534,23 @@ permissions in memory that can't be stored on the server. This information can d

                 maximum wsize currently allowed by CIFS is 57344 (fourteen 4096 byte pages)</para></listitem> </varlistentry>
+     <varlistentry>
+             <term>fsc</term>
+
+             <listitem><para>Enable local disk caching using FS-Cache
+             for cifs. This option could be useful to improve performance
+             on a slow link, heavily loaded server and/or network
+             where reading from the disk is faster than reading from the
+             server (over the network). This could also impact the
+             scalability positively as the number of calls to the server

Quoted 8 lines

+             are reduced. But, be warned that local caching is not suitable
+             for all workloads, for e.g., read-once type workloads. So
+             you need to consider carefully the situation/workload before
+             using this option.
+             NOTE: You also need to have cachefilesd daemon installed and
+             running to make the cache operational.
+                </para></listitem>
+     </varlistentry>

You may want to mention somewhere that this is only available in recent kernels that have been built with fsc turned on.

Other than that, this and the mount.cifs patch look fine and I'll plan to commit them before the upcoming 4.6 release.

Quoted 10 lines
Quoted 7 lines
Quoted 3 lines

       <varlistentry>
                 <term>--verbose</term>
                 <listitem><para>Print additional debugging information for the mount. Note that this parameter must be specified before the -o. For example:</para><para>mount -t cifs //server/share /mnt --verbose -o user=username</para></listitem>

--
Jeff Layton <[email protected]>

--
Jeff Layton <[email protected]>

Signature · 3 lines
Thanks,

Steve
#10 lore raw
In reply to a message not in the archive
Quoted 7 lines · On Tue, 27 Jul 2010 10:21:51 -0500 Steve French…

scripts/extract-ikconfig could be run against the image (or look at /proc/config.gz) - but unless there is an easier way to view kernel config options on particular distros via distro specific tools - probably easier just to note that CONFIG_FSCACHE must be selected in the kernel build (since it forces dependencies on the other kernel options being set)

It would be nice if there were a definitive way to tell what's been compiled in. Not just for this, but for DFS/krb5 upcalls, etc. Maybe we should consider a /proc/fs/cifs/features file that would display this info? For instance:

$ cat /proc/fs/cifs/features
dfs spnego fsc

...or something like that?

Signature · 1 line
Jeff Layton <[email protected]>
#11 lore raw
In reply to a message not in the archive
Quoted 6 lines · Steve French

scripts/extract-ikconfig could be run against the image (or look at /proc/config.gz) - but unless there is an easier way to view kernel config options on particular distros via distro specific tools - probably easier just to note that CONFIG_FSCACHE must be selected in the kernel build (since it forces dependencies on the other kernel options being set)

Does something like
$zcat /proc/config.gz | grep CONFIG_CIFS_FSCACHE

might work on all distros?

But, Jeff's idea of having a features file in /proc sounds good. Apart from using them as a reference to check in documentation, it could be a useful information while collecting debugging output as well..?

Thanks,

Signature · 1 line
Suresh Jayaraman
#12 lore raw
Quoted 8 lines · Suresh Jayaraman
Quoted 6 lines · Steve French

scripts/extract-ikconfig could be run against the image (or look at /proc/config.gz) - but unless there is an easier way to view kernel config options on particular distros via distro specific tools - probably easier just to note that CONFIG_FSCACHE must be selected in the kernel build (since it forces dependencies on the other kernel options being set)

Quoted 8 lines

Does something like
       $zcat /proc/config.gz | grep CONFIG_CIFS_FSCACHE

might work on all distros?

But, Jeff's idea of having a features file in /proc sounds good. Apart from using them as a reference to check in documentation, it could be a useful information while collecting debugging output as well..?

Seems reasonable - but wondering if other file systems have run into the same problem - how to view their build/config options - and how they have solved it (if at all) so ccing fsdevel

Signature · 7 lines
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#16 lore raw
In reply to a message not in the archive
Quoted 38 lines · On Tue, 27 Jul 2010 19:20:00 +0530 Suresh Jayaraman…

Document the newly added local caching feature using FS-Cache. This patch could be queued and considered once the local caching patches gets merged upstream.

---
 doc/mount.cifs.8.xml |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
doc/mount.cifs.8.xml +17 -1
index 4937550..2200746 100644
@@ -534,6 +534,23 @@ permissions in memory that can't be stored on the server. This information can d
                 maximum wsize currently allowed by CIFS is 57344 (fourteen
                 4096 byte pages)</para></listitem>
 	</varlistentry>
+	<varlistentry>
+		<term>fsc</term>
+
+		<listitem><para>Enable local disk caching using FS-Cache
+		for cifs. This option could be useful to improve performance
+		on a slow link, heavily loaded server and/or network
+		where reading from the disk is faster than reading from the
+		server (over the network). This could also impact the
+		scalability positively as the number of calls to the server
+		are reduced. But, be warned that local caching is not suitable
+		for all workloads, for e.g., read-once type workloads. So
+		you need to consider carefully the situation/workload before
+		using this option.
+		NOTE: You also need to have cachefilesd daemon installed and
+		running to make the cache operational.
+                </para></listitem>
+	</varlistentry>
 	 <varlistentry>
                 <term>--verbose</term>
                 <listitem><para>Print additional debugging information for the mount. Note that this parameter must be specified before the -o. For example:</para><para>mount -t cifs //server/share /mnt --verbose -o user=username</para></listitem>
--
Quoted 4 lines

To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

merged

Signature · 1 line
Jeff Layton <[email protected]>
#14 lore raw
In reply to a message not in the archive
Quoted 14 lines · On Tue, 27 Jul 2010 11:38:20 -0500 Steve French wrote:
Quoted 13 lines · Suresh Jayaraman
Quoted 6 lines · Steve French

scripts/extract-ikconfig could be run against the image (or look at /proc/config.gz) - but unless there is an easier way to view kernel config options on particular distros via distro specific tools - probably easier just to note that CONFIG_FSCACHE must be selected in the kernel build (since it forces dependencies on the other kernel options being set)

Does something like
       $zcat /proc/config.gz | grep CONFIG_CIFS_FSCACHE

might work on all distros?

Quoted 7 lines
Quoted 3 lines

But, Jeff's idea of having a features file in /proc sounds good. Apart from using them as a reference to check in documentation, it could be a useful information while collecting debugging output as well..?

Seems reasonable - but wondering if other file systems have run into the same problem - how to view their build/config options - and how they have solved it (if at all) so ccing fsdevel

There is no guarantee that scripts/extract-ikconfig can find anything, or that proc/config.gz is present.

The safe, sure-to-work thing to do is create some strings or files or whatever based on CONFIG_* kconfig symbols during kernel build, then those hints will be available at kernel run-time.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#15 lore raw
In reply to a message not in the archive
Quoted 14 lines · Steve French
Quoted 13 lines · Suresh Jayaraman
Quoted 6 lines · Steve French

scripts/extract-ikconfig could be run against the image (or look at /proc/config.gz) - but unless there is an easier way to view kernel config options on particular distros via distro specific tools - probably easier just to note that CONFIG_FSCACHE must be selected in the kernel build (since it forces dependencies on the other kernel options being set)

Does something like
� � � �$zcat /proc/config.gz | grep CONFIG_CIFS_FSCACHE

might work on all distros?

Quoted 8 lines
Quoted 3 lines

But, Jeff's idea of having a features file in /proc sounds good. Apart from using them as a reference to check in documentation, it could be a useful information while collecting debugging output as well..?

Seems reasonable - but wondering if other file systems have run into the same problem - how to view their build/config options - and how they have solved it (if at all) so ccing fsdevel

I just checked some of the other filesystems. Most of them just mention the CONFIG_XXX option has to be set/enabled.

For e.g.

(1) Mount options for jfs

iocharset=name

	...
	This requires CONFIG_NLS_UTF8 to be set in the kernel .config

file.

(2) Mount options for tmpfs

mpol=[default|prefer:Node|bind:NodeList|interleave|interleave:NodeList]
Set the NUMA memory allocation policy for all files in that
instance (if the kernel CONFIG_NUMA is enabled) ...

Thanks,

Signature · 1 line
Suresh Jayaraman