diff options
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 14 |
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 | ||