diff options
author | Pavel Shilovsky <pshilovsky@samba.org> | 2013-09-05 13:01:06 +0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2013-09-08 17:49:17 -0500 |
commit | 18cceb6a78f46b65df654e8348fa2093b91b30f6 (patch) | |
tree | d1d1e5468427131f5dc323dd0c92c2fdac443738 /fs/cifs/smb2file.c | |
parent | 77993be3f32192f28c558290e695a50de7c2dab9 (diff) | |
download | linux-18cceb6a78f46b65df654e8348fa2093b91b30f6.tar.bz2 |
CIFS: Replace clientCanCache* bools with an integer
that prepare the code to handle different types of SMB2 leases.
Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/smb2file.c')
-rw-r--r-- | fs/cifs/smb2file.c | 20 |
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) oplock &= 0xFF; if (oplock == SMB2_OPLOCK_LEVEL_NOCHANGE) return; - if (oplock == SMB2_OPLOCK_LEVEL_EXCLUSIVE || - oplock == SMB2_OPLOCK_LEVEL_BATCH) { - cinode->clientCanCacheAll = true; - cinode->clientCanCacheRead = true; + if (oplock == SMB2_OPLOCK_LEVEL_BATCH) { + cinode->oplock = CIFS_CACHE_READ_FLG | CIFS_CACHE_WRITE_FLG | + CIFS_CACHE_HANDLE_FLG; + cifs_dbg(FYI, "Batch Oplock granted on inode %p\n", + &cinode->vfs_inode); + } else if (oplock == SMB2_OPLOCK_LEVEL_EXCLUSIVE) { + cinode->oplock = CIFS_CACHE_READ_FLG | CIFS_CACHE_WRITE_FLG; cifs_dbg(FYI, "Exclusive Oplock granted on inode %p\n", &cinode->vfs_inode); } else if (oplock == SMB2_OPLOCK_LEVEL_II) { - cinode->clientCanCacheAll = false; - cinode->clientCanCacheRead = true; + cinode->oplock = CIFS_CACHE_READ_FLG; cifs_dbg(FYI, "Level II Oplock granted on inode %p\n", &cinode->vfs_inode); - } else { - cinode->clientCanCacheAll = false; - cinode->clientCanCacheRead = false; - } + } else + cinode->oplock = 0; } int |