diff options
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 6b21f6aa9f60..ac2c8bdc8e55 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -1048,6 +1048,11 @@ cifs_parse_mount_options(char *options, const char *devname,struct smb_vol *vol) | |||
1048 | vol->nobrl = 0; | 1048 | vol->nobrl = 0; |
1049 | } else if (strnicmp(data, "nobrl", 5) == 0) { | 1049 | } else if (strnicmp(data, "nobrl", 5) == 0) { |
1050 | vol->nobrl = 1; | 1050 | vol->nobrl = 1; |
1051 | /* turn off mandatory locking in mode | ||
1052 | if remote locking is turned off since the | ||
1053 | local vfs will do advisory */ | ||
1054 | if(vol->file_mode == (S_IALLUGO & ~(S_ISUID | S_IXGRP))) | ||
1055 | vol->file_mode = S_IALLUGO; | ||
1051 | } else if (strnicmp(data, "setuids", 7) == 0) { | 1056 | } else if (strnicmp(data, "setuids", 7) == 0) { |
1052 | vol->setuids = 1; | 1057 | vol->setuids = 1; |
1053 | } else if (strnicmp(data, "nosetuids", 9) == 0) { | 1058 | } else if (strnicmp(data, "nosetuids", 9) == 0) { |
@@ -1707,8 +1712,6 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
1707 | cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_XATTR; | 1712 | cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_XATTR; |
1708 | if(volume_info.sfu_emul) | 1713 | if(volume_info.sfu_emul) |
1709 | cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_UNX_EMUL; | 1714 | 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) | 1715 | if(volume_info.nobrl) |
1713 | cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_BRL; | 1716 | cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_BRL; |
1714 | 1717 | ||
@@ -1727,6 +1730,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
1727 | to the same server share the last value passed in | 1730 | to the same server share the last value passed in |
1728 | for the retry flag is used */ | 1731 | for the retry flag is used */ |
1729 | tcon->retry = volume_info.retry; | 1732 | tcon->retry = volume_info.retry; |
1733 | tcon->nocase = volume_info.nocase; | ||
1730 | } else { | 1734 | } else { |
1731 | tcon = tconInfoAlloc(); | 1735 | tcon = tconInfoAlloc(); |
1732 | if (tcon == NULL) | 1736 | if (tcon == NULL) |
@@ -1755,6 +1759,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
1755 | if (!rc) { | 1759 | if (!rc) { |
1756 | atomic_inc(&pSesInfo->inUse); | 1760 | atomic_inc(&pSesInfo->inUse); |
1757 | tcon->retry = volume_info.retry; | 1761 | tcon->retry = volume_info.retry; |
1762 | tcon->nocase = volume_info.nocase; | ||
1758 | } | 1763 | } |
1759 | } | 1764 | } |
1760 | } | 1765 | } |