diff options
author | Jeff Layton <jlayton@redhat.com> | 2011-02-22 20:17:19 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2011-04-11 20:40:43 -0400 |
commit | bdf1b03e093bdbc571f404e751c7b0e2dca412ea (patch) | |
tree | 59034d81cfd01c14c21256229a355a06310ce6b5 /fs/cifs/cifsfs.c | |
parent | 7797069305d13252fd66cf722aa8f2cbeb3c95cd (diff) |
cifs: replace /proc/fs/cifs/Experimental with a module parm
This flag currently only affects whether we allow "zero-copy" writes
with signing enabled. Typically we map pages in the pagecache directly
into the write request. If signing is enabled however and the contents
of the page change after the signature is calculated but before the
write is sent then the signature will be wrong. Servers typically
respond to this by closing down the socket.
Still, this can provide a performance benefit so the "Experimental" flag
was overloaded to allow this. That's really not a good place for this
option however since it's not clear what that flag does.
Move that flag instead to a new module parameter that better describes
its purpose. That's also better since it can be set at module insertion
time by configuring modprobe.d.
Reviewed-by: Suresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index f2970136d17d..41c78e8fc591 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -53,7 +53,6 @@ int cifsFYI = 0; | |||
53 | int cifsERROR = 1; | 53 | int cifsERROR = 1; |
54 | int traceSMB = 0; | 54 | int traceSMB = 0; |
55 | unsigned int oplockEnabled = 1; | 55 | unsigned int oplockEnabled = 1; |
56 | unsigned int experimEnabled = 0; | ||
57 | unsigned int linuxExtEnabled = 1; | 56 | unsigned int linuxExtEnabled = 1; |
58 | unsigned int lookupCacheEnabled = 1; | 57 | unsigned int lookupCacheEnabled = 1; |
59 | unsigned int multiuser_mount = 0; | 58 | unsigned int multiuser_mount = 0; |
@@ -82,6 +81,10 @@ module_param(echo_retries, ushort, 0644); | |||
82 | MODULE_PARM_DESC(echo_retries, "Number of echo attempts before giving up and " | 81 | MODULE_PARM_DESC(echo_retries, "Number of echo attempts before giving up and " |
83 | "reconnecting server. Default: 5. 0 means " | 82 | "reconnecting server. Default: 5. 0 means " |
84 | "never reconnect."); | 83 | "never reconnect."); |
84 | bool sign_zero_copy; /* globals init to false automatically */ | ||
85 | module_param(sign_zero_copy, bool, 0644); | ||
86 | MODULE_PARM_DESC(sign_zero_copy, "Don't copy pages on write with signing " | ||
87 | "enabled. Default: N"); | ||
85 | extern mempool_t *cifs_sm_req_poolp; | 88 | extern mempool_t *cifs_sm_req_poolp; |
86 | extern mempool_t *cifs_req_poolp; | 89 | extern mempool_t *cifs_req_poolp; |
87 | extern mempool_t *cifs_mid_poolp; | 90 | extern mempool_t *cifs_mid_poolp; |