aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/smb2file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/smb2file.c')
-rw-r--r--fs/cifs/smb2file.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/fs/cifs/smb2file.c b/fs/cifs/smb2file.c
index 020245d5c9a7..4564787dc7d7 100644
--- a/fs/cifs/smb2file.c
+++ b/fs/cifs/smb2file.c
@@ -40,21 +40,21 @@ smb2_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock)
40 oplock &= 0xFF; 40 oplock &= 0xFF;
41 if (oplock == SMB2_OPLOCK_LEVEL_NOCHANGE) 41 if (oplock == SMB2_OPLOCK_LEVEL_NOCHANGE)
42 return; 42 return;
43 if (oplock == SMB2_OPLOCK_LEVEL_EXCLUSIVE || 43 if (oplock == SMB2_OPLOCK_LEVEL_BATCH) {
44 oplock == SMB2_OPLOCK_LEVEL_BATCH) { 44 cinode->oplock = CIFS_CACHE_READ_FLG | CIFS_CACHE_WRITE_FLG |
45 cinode->clientCanCacheAll = true; 45 CIFS_CACHE_HANDLE_FLG;
46 cinode->clientCanCacheRead = true; 46 cifs_dbg(FYI, "Batch Oplock granted on inode %p\n",
47 &cinode->vfs_inode);
48 } else if (oplock == SMB2_OPLOCK_LEVEL_EXCLUSIVE) {
49 cinode->oplock = CIFS_CACHE_READ_FLG | CIFS_CACHE_WRITE_FLG;
47 cifs_dbg(FYI, "Exclusive Oplock granted on inode %p\n", 50 cifs_dbg(FYI, "Exclusive Oplock granted on inode %p\n",
48 &cinode->vfs_inode); 51 &cinode->vfs_inode);
49 } else if (oplock == SMB2_OPLOCK_LEVEL_II) { 52 } else if (oplock == SMB2_OPLOCK_LEVEL_II) {
50 cinode->clientCanCacheAll = false; 53 cinode->oplock = CIFS_CACHE_READ_FLG;
51 cinode->clientCanCacheRead = true;
52 cifs_dbg(FYI, "Level II Oplock granted on inode %p\n", 54 cifs_dbg(FYI, "Level II Oplock granted on inode %p\n",
53 &cinode->vfs_inode); 55 &cinode->vfs_inode);
54 } else { 56 } else
55 cinode->clientCanCacheAll = false; 57 cinode->oplock = 0;
56 cinode->clientCanCacheRead = false;
57 }
58} 58}
59 59
60int 60int