summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_lock.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-05-07 01:20:26 -0700
committerJeremy Allison <jra@samba.org>2010-05-07 01:20:26 -0700
commit4ad1943d29a273ad3770e7abd5f266c25608eb39 (patch)
tree9e52b28a8e969b2cfd487f01fa2d5990caff994a /source3/smbd/smb2_lock.c
parent882fb1828f766f2c532c32472ab7ab81f03cd906 (diff)
downloadsamba-4ad1943d29a273ad3770e7abd5f266c25608eb39.tar.gz
samba-4ad1943d29a273ad3770e7abd5f266c25608eb39.tar.bz2
samba-4ad1943d29a273ad3770e7abd5f266c25608eb39.zip
Make us pass all SMB2 lock tests except MULTIPLE-UNLOCK and CONTEXT. Them next :-).
Jeremy.
Diffstat (limited to 'source3/smbd/smb2_lock.c')
-rw-r--r--source3/smbd/smb2_lock.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/smbd/smb2_lock.c b/source3/smbd/smb2_lock.c
index b106c5fad1..9c8964abb8 100644
--- a/source3/smbd/smb2_lock.c
+++ b/source3/smbd/smb2_lock.c
@@ -840,7 +840,8 @@ void process_blocking_lock_queue_smb2(struct timeval tv_curr)
****************************************************************************/
void cancel_pending_lock_requests_by_fid_smb2(files_struct *fsp,
- struct byte_range_lock *br_lck)
+ struct byte_range_lock *br_lck,
+ enum file_close_type close_type)
{
struct smbd_server_connection *sconn = smbd_server_conn;
struct smbd_smb2_request *smb2req, *nextreq;
@@ -904,6 +905,11 @@ void cancel_pending_lock_requests_by_fid_smb2(files_struct *fsp,
blr);
/* Finally end the request. */
- tevent_req_nterror(smb2req->subreq, NT_STATUS_RANGE_NOT_LOCKED);
+ if (close_type == SHUTDOWN_CLOSE) {
+ tevent_req_done(smb2req->subreq);
+ } else {
+ tevent_req_nterror(smb2req->subreq,
+ NT_STATUS_RANGE_NOT_LOCKED);
+ }
}
}