|
@@ -87,6 +87,7 @@ struct smb_vol {
|
|
|
bool no_xattr:1; /* set if xattr (EA) support should be disabled*/
|
|
|
bool server_ino:1; /* use inode numbers from server ie UniqueId */
|
|
|
bool direct_io:1;
|
|
|
+ bool strict_io:1; /* strict cache behavior */
|
|
|
bool remap:1; /* set to remap seven reserved chars in filenames */
|
|
|
bool posix_paths:1; /* unset to not ask for posix pathnames. */
|
|
|
bool no_linux_ext:1;
|
|
@@ -1344,6 +1345,8 @@ cifs_parse_mount_options(char *options, const char *devname,
|
|
|
vol->direct_io = 1;
|
|
|
} else if (strnicmp(data, "forcedirectio", 13) == 0) {
|
|
|
vol->direct_io = 1;
|
|
|
+ } else if (strnicmp(data, "strictcache", 11) == 0) {
|
|
|
+ vol->strict_io = 1;
|
|
|
} else if (strnicmp(data, "noac", 4) == 0) {
|
|
|
printk(KERN_WARNING "CIFS: Mount option noac not "
|
|
|
"supported. Instead set "
|
|
@@ -2584,6 +2587,8 @@ static void setup_cifs_sb(struct smb_vol *pvolume_info,
|
|
|
if (pvolume_info->multiuser)
|
|
|
cifs_sb->mnt_cifs_flags |= (CIFS_MOUNT_MULTIUSER |
|
|
|
CIFS_MOUNT_NO_PERM);
|
|
|
+ if (pvolume_info->strict_io)
|
|
|
+ cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_STRICT_IO;
|
|
|
if (pvolume_info->direct_io) {
|
|
|
cFYI(1, "mounting share using direct i/o");
|
|
|
cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_DIRECT_IO;
|