aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/connect.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-08-18 23:49:57 -0400
committerSteve French <sfrench@us.ibm.com>2005-08-18 23:49:57 -0400
commitc46fa8acdc533e8084359ea11c79d56eb98313fb (patch)
treed9455c92f58c99e342856995668739236bdd09e3 /fs/cifs/connect.c
parent8d0d50948b276b46b75b1b5855d3f9fab1e0fd92 (diff)
[CIFS] Add mount option for disabling sending byte range lock requests
over the wire (to help the case when applications break with cifs mandatory lock behavior. Add part one of mount option for requesting case insensitive path name matching. Signed-off-by: Steve French (sfrench@us.ibm.com)
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r--fs/cifs/connect.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index ef0432c44482..6b21f6aa9f60 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -79,6 +79,8 @@ struct smb_vol {
79 unsigned remap:1; /* set to remap seven reserved chars in filenames */ 79 unsigned remap:1; /* set to remap seven reserved chars in filenames */
80 unsigned posix_paths:1; /* unset to not ask for posix pathnames. */ 80 unsigned posix_paths:1; /* unset to not ask for posix pathnames. */
81 unsigned sfu_emul:1; 81 unsigned sfu_emul:1;
82 unsigned nocase; /* request case insensitive filenames */
83 unsigned nobrl; /* disable sending byte range locks to srv */
82 unsigned int rsize; 84 unsigned int rsize;
83 unsigned int wsize; 85 unsigned int wsize;
84 unsigned int sockopt; 86 unsigned int sockopt;
@@ -1040,6 +1042,12 @@ cifs_parse_mount_options(char *options, const char *devname,struct smb_vol *vol)
1040 vol->posix_paths = 1; 1042 vol->posix_paths = 1;
1041 } else if (strnicmp(data, "noposixpaths", 12) == 0) { 1043 } else if (strnicmp(data, "noposixpaths", 12) == 0) {
1042 vol->posix_paths = 0; 1044 vol->posix_paths = 0;
1045 } else if (strnicmp(data, "nocase", 6) == 0) {
1046 vol->nocase = 1;
1047 } else if (strnicmp(data, "brl", 3) == 0) {
1048 vol->nobrl = 0;
1049 } else if (strnicmp(data, "nobrl", 5) == 0) {
1050 vol->nobrl = 1;
1043 } else if (strnicmp(data, "setuids", 7) == 0) { 1051 } else if (strnicmp(data, "setuids", 7) == 0) {
1044 vol->setuids = 1; 1052 vol->setuids = 1;
1045 } else if (strnicmp(data, "nosetuids", 9) == 0) { 1053 } else if (strnicmp(data, "nosetuids", 9) == 0) {
@@ -1699,9 +1707,13 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
1699 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_XATTR; 1707 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_XATTR;
1700 if(volume_info.sfu_emul) 1708 if(volume_info.sfu_emul)
1701 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_UNX_EMUL; 1709 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_UNX_EMUL;
1710 if(volume_info.nocase)
1711 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_CASE_INSENS;
1712 if(volume_info.nobrl)
1713 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_BRL;
1702 1714
1703 if(volume_info.direct_io) { 1715 if(volume_info.direct_io) {
1704 cERROR(1,("mounting share using direct i/o")); 1716 cFYI(1,("mounting share using direct i/o"));
1705 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_DIRECT_IO; 1717 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_DIRECT_IO;
1706 } 1718 }
1707 1719