diff options
Diffstat (limited to 'fs/cifs/inode.c')
| -rw-r--r-- | fs/cifs/inode.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 6c9ee8014ff0..8852470b4fbb 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -44,13 +44,17 @@ static void cifs_set_ops(struct inode *inode)  				inode->i_fop = &cifs_file_direct_nobrl_ops;  			else  				inode->i_fop = &cifs_file_direct_ops; +		} else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_STRICT_IO) { +			if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) +				inode->i_fop = &cifs_file_strict_nobrl_ops; +			else +				inode->i_fop = &cifs_file_strict_ops;  		} else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)  			inode->i_fop = &cifs_file_nobrl_ops;  		else { /* not direct, send byte range locks */  			inode->i_fop = &cifs_file_ops;  		} -  		/* check if server can support readpages */  		if (cifs_sb_master_tcon(cifs_sb)->ses->server->maxBuf <  				PAGE_CACHE_SIZE + MAX_CIFS_HDR_SIZE) @@ -1679,7 +1683,7 @@ cifs_inode_needs_reval(struct inode *inode)  /*   * Zap the cache. Called when invalid_mapping flag is set.   */ -static void +void  cifs_invalidate_mapping(struct inode *inode)  {  	int rc;  | 
