diff options
author | Joel Stanley <joel@jms.id.au> | 2019-04-08 12:35:00 +0930 |
---|---|---|
committer | Joel Stanley <joel@jms.id.au> | 2019-04-08 12:35:05 +0930 |
commit | 0b37f9a0bd24d9622f75d981feac67e72351b6e8 (patch) | |
tree | d40154b713e136a2d9dfb3fcb1903dd730bd234f /fs/cifs/file.c | |
parent | df66fbc97853fbba90a0bfa44de32f3d5f7602b4 (diff) | |
parent | 8b298d3a0bd5feeb47129c4889356b38b78ab231 (diff) | |
download | talos-obmc-linux-0b37f9a0bd24d9622f75d981feac67e72351b6e8.tar.gz talos-obmc-linux-0b37f9a0bd24d9622f75d981feac67e72351b6e8.zip |
Merge tag 'v5.0.7' into dev-5.0
This is the 5.0.7 stable release
Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 95461db80011..8d107587208f 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -1645,8 +1645,20 @@ cifs_setlk(struct file *file, struct file_lock *flock, __u32 type, rc = server->ops->mand_unlock_range(cfile, flock, xid); out: - if (flock->fl_flags & FL_POSIX && !rc) + if (flock->fl_flags & FL_POSIX) { + /* + * If this is a request to remove all locks because we + * are closing the file, it doesn't matter if the + * unlocking failed as both cifs.ko and the SMB server + * remove the lock on file close + */ + if (rc) { + cifs_dbg(VFS, "%s failed rc=%d\n", __func__, rc); + if (!(flock->fl_flags & FL_CLOSE)) + return rc; + } rc = locks_lock_file_wait(file, flock); + } return rc; } |