diff options
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index fb6b4413255b..2418618118b6 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -3404,6 +3404,7 @@ void cifs_oplock_break(struct work_struct *work) | |||
3404 | oplock_break); | 3404 | oplock_break); |
3405 | struct inode *inode = cfile->dentry->d_inode; | 3405 | struct inode *inode = cfile->dentry->d_inode; |
3406 | struct cifsInodeInfo *cinode = CIFS_I(inode); | 3406 | struct cifsInodeInfo *cinode = CIFS_I(inode); |
3407 | struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); | ||
3407 | int rc = 0; | 3408 | int rc = 0; |
3408 | 3409 | ||
3409 | if (inode && S_ISREG(inode->i_mode)) { | 3410 | if (inode && S_ISREG(inode->i_mode)) { |
@@ -3431,10 +3432,8 @@ void cifs_oplock_break(struct work_struct *work) | |||
3431 | * disconnected since oplock already released by the server | 3432 | * disconnected since oplock already released by the server |
3432 | */ | 3433 | */ |
3433 | if (!cfile->oplock_break_cancelled) { | 3434 | if (!cfile->oplock_break_cancelled) { |
3434 | rc = CIFSSMBLock(0, tlink_tcon(cfile->tlink), cfile->fid.netfid, | 3435 | rc = tcon->ses->server->ops->oplock_response(tcon, &cfile->fid, |
3435 | current->tgid, 0, 0, 0, 0, | 3436 | cinode); |
3436 | LOCKING_ANDX_OPLOCK_RELEASE, false, | ||
3437 | cinode->clientCanCacheRead ? 1 : 0); | ||
3438 | cFYI(1, "Oplock release rc = %d", rc); | 3437 | cFYI(1, "Oplock release rc = %d", rc); |
3439 | } | 3438 | } |
3440 | } | 3439 | } |