summaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifs_fs_sb.h
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2009-02-23 15:21:59 +0000
committerSteve French <sfrench@us.ibm.com>2009-03-12 01:36:20 +0000
commitbe652445fdccb8e5d4391928c3b45324ea37f9e1 (patch)
tree9912b7022b06d3ad08ff73d71505f018fe96922b /fs/cifs/cifs_fs_sb.h
parent10e70afa75c90702b2326abaaa757d6b7835636f (diff)
downloadlinux-stable-be652445fdccb8e5d4391928c3b45324ea37f9e1.tar.gz
linux-stable-be652445fdccb8e5d4391928c3b45324ea37f9e1.tar.bz2
linux-stable-be652445fdccb8e5d4391928c3b45324ea37f9e1.zip
[CIFS] Add new nostrictsync cifs mount option to avoid slow SMB flush
If this mount option is set, when an application does an fsync call then the cifs client does not send an SMB Flush to the server (to force the server to write all dirty data for this file immediately to disk), although cifs still sends all dirty (cached) file data to the server and waits for the server to respond to the write write. Since SMB Flush can be very slow, and some servers may be reliable enough (to risk delaying slightly flushing the data to disk on the server), turning on this option may be useful to improve performance for applications that fsync too much, at a small risk of server crash. If this mount option is not set, by default cifs will send an SMB flush request (and wait for a response) on every fsync call. Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifs_fs_sb.h')
-rw-r--r--fs/cifs/cifs_fs_sb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/cifs_fs_sb.h b/fs/cifs/cifs_fs_sb.h
index c4c306f7b06f..e9f177bb0658 100644
--- a/fs/cifs/cifs_fs_sb.h
+++ b/fs/cifs/cifs_fs_sb.h
@@ -32,6 +32,7 @@
#define CIFS_MOUNT_OVERR_GID 0x800 /* override gid returned from server */
#define CIFS_MOUNT_DYNPERM 0x1000 /* allow in-memory only mode setting */
#define CIFS_MOUNT_NOPOSIXBRL 0x2000 /* mandatory not posix byte range lock */
+#define CIFS_MOUNT_NO_SSYNC 0x4000 /* don't do slow SMBflush on every sync*/
struct cifs_sb_info {
struct cifsTconInfo *tcon; /* primary mount */