aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/connect.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2012-09-19 18:20:27 -0400
committerSteve French <smfrench@gmail.com>2012-09-24 22:46:35 -0400
commit1b359204901e182b27aa9da432095cbe2cfd2512 (patch)
tree5bbe2cc83c384ad753246cd25c1b477a35772fe6 /fs/cifs/connect.c
parent52b0c3427e5baf14f1ffb92cf8ae542160ec6a07 (diff)
cifs: remove support for deprecated "forcedirectio" and "strictcache" mount options
...and make the default cache=strict as promised for 3.7. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r--fs/cifs/connect.c37
1 files changed, 4 insertions, 33 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 59c595e8a1b..a792282f02f 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -82,8 +82,7 @@ enum {
82 Opt_serverino, Opt_noserverino, 82 Opt_serverino, Opt_noserverino,
83 Opt_rwpidforward, Opt_cifsacl, Opt_nocifsacl, 83 Opt_rwpidforward, Opt_cifsacl, Opt_nocifsacl,
84 Opt_acl, Opt_noacl, Opt_locallease, 84 Opt_acl, Opt_noacl, Opt_locallease,
85 Opt_sign, Opt_seal, Opt_direct, 85 Opt_sign, Opt_seal, Opt_noac,
86 Opt_strictcache, Opt_noac,
87 Opt_fsc, Opt_mfsymlinks, 86 Opt_fsc, Opt_mfsymlinks,
88 Opt_multiuser, Opt_sloppy, 87 Opt_multiuser, Opt_sloppy,
89 88
@@ -160,10 +159,6 @@ static const match_table_t cifs_mount_option_tokens = {
160 { Opt_locallease, "locallease" }, 159 { Opt_locallease, "locallease" },
161 { Opt_sign, "sign" }, 160 { Opt_sign, "sign" },
162 { Opt_seal, "seal" }, 161 { Opt_seal, "seal" },
163 { Opt_direct, "direct" },
164 { Opt_direct, "directio" },
165 { Opt_direct, "forcedirectio" },
166 { Opt_strictcache, "strictcache" },
167 { Opt_noac, "noac" }, 162 { Opt_noac, "noac" },
168 { Opt_fsc, "fsc" }, 163 { Opt_fsc, "fsc" },
169 { Opt_mfsymlinks, "mfsymlinks" }, 164 { Opt_mfsymlinks, "mfsymlinks" },
@@ -1105,8 +1100,6 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
1105 char *string = NULL; 1100 char *string = NULL;
1106 char *tmp_end, *value; 1101 char *tmp_end, *value;
1107 char delim; 1102 char delim;
1108 bool cache_specified = false;
1109 static bool cache_warned = false;
1110 1103
1111 separator[0] = ','; 1104 separator[0] = ',';
1112 separator[1] = 0; 1105 separator[1] = 0;
@@ -1138,6 +1131,9 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
1138 /* default to using server inode numbers where available */ 1131 /* default to using server inode numbers where available */
1139 vol->server_ino = 1; 1132 vol->server_ino = 1;
1140 1133
1134 /* default is to use strict cifs caching semantics */
1135 vol->strict_io = true;
1136
1141 vol->actimeo = CIFS_DEF_ACTIMEO; 1137 vol->actimeo = CIFS_DEF_ACTIMEO;
1142 1138
1143 /* FIXME: add autonegotiation -- for now, SMB1 is default */ 1139 /* FIXME: add autonegotiation -- for now, SMB1 is default */
@@ -1321,22 +1317,6 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
1321 */ 1317 */
1322 vol->seal = 1; 1318 vol->seal = 1;
1323 break; 1319 break;
1324 case Opt_direct:
1325 cache_specified = true;
1326 vol->direct_io = true;
1327 vol->strict_io = false;
1328 cERROR(1, "The \"directio\" option will be removed in "
1329 "3.7. Please switch to the \"cache=none\" "
1330 "option.");
1331 break;
1332 case Opt_strictcache:
1333 cache_specified = true;
1334 vol->direct_io = false;
1335 vol->strict_io = true;
1336 cERROR(1, "The \"strictcache\" option will be removed "
1337 "in 3.7. Please switch to the \"cache=strict\" "
1338 "option.");
1339 break;
1340 case Opt_noac: 1320 case Opt_noac:
1341 printk(KERN_WARNING "CIFS: Mount option noac not " 1321 printk(KERN_WARNING "CIFS: Mount option noac not "
1342 "supported. Instead set " 1322 "supported. Instead set "
@@ -1771,7 +1751,6 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
1771 goto cifs_parse_mount_err; 1751 goto cifs_parse_mount_err;
1772 break; 1752 break;
1773 case Opt_cache: 1753 case Opt_cache:
1774 cache_specified = true;
1775 string = match_strdup(args); 1754 string = match_strdup(args);
1776 if (string == NULL) 1755 if (string == NULL)
1777 goto out_nomem; 1756 goto out_nomem;
@@ -1822,14 +1801,6 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
1822 printk(KERN_NOTICE "CIFS: ignoring forcegid mount option " 1801 printk(KERN_NOTICE "CIFS: ignoring forcegid mount option "
1823 "specified with no gid= option.\n"); 1802 "specified with no gid= option.\n");
1824 1803
1825 /* FIXME: remove this block in 3.7 */
1826 if (!cache_specified && !cache_warned) {
1827 cache_warned = true;
1828 printk(KERN_NOTICE "CIFS: no cache= option specified, using "
1829 "\"cache=loose\". This default will change "
1830 "to \"cache=strict\" in 3.7.\n");
1831 }
1832
1833 kfree(mountdata_copy); 1804 kfree(mountdata_copy);
1834 return 0; 1805 return 0;
1835 1806