summaryrefslogtreecommitdiffstats
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-09-11 01:05:22 +0000
committerJeremy Allison <jra@samba.org>2002-09-11 01:05:22 +0000
commit99928976ea8994f1e759b652e6f06fdd86ffe853 (patch)
tree595ff4a1069aeb92accf4556fb3e25f65820b680 /source3/smbd
parent6b956c8c1e55723788ede2cf9307456b38165a3b (diff)
downloadsamba-99928976ea8994f1e759b652e6f06fdd86ffe853.tar.gz
samba-99928976ea8994f1e759b652e6f06fdd86ffe853.tar.xz
samba-99928976ea8994f1e759b652e6f06fdd86ffe853.zip
Ensure we've failed a lock with a lock denied message before automatically
pushing it onto the blocking queue. Jeremy. (This used to be commit 237e36124cedf0485deaff81f34688fa862c3317)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/reply.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 36f7c3a8837..3fc9cf21fd1 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -1603,7 +1603,7 @@ int reply_lockread(connection_struct *conn, char *inbuf,char *outbuf, int length
(SMB_BIG_UINT)numtoread, (SMB_BIG_UINT)startpos, WRITE_LOCK);
if (NT_STATUS_V(status)) {
- if (lp_blocking_locks(SNUM(conn))) {
+ if (lp_blocking_locks(SNUM(conn)) && ERROR_WAS_LOCK_DENIED(status)) {
/*
* A blocking lock was requested. Package up
* this smb into a queued request and push it
@@ -2425,7 +2425,7 @@ int reply_lock(connection_struct *conn,
status = do_lock_spin(fsp, conn, SVAL(inbuf,smb_pid), count, offset, WRITE_LOCK);
if (NT_STATUS_V(status)) {
- if (lp_blocking_locks(SNUM(conn))) {
+ if (lp_blocking_locks(SNUM(conn)) && ERROR_WAS_LOCK_DENIED(status)) {
/*
* A blocking lock was requested. Package up
* this smb into a queued request and push it
@@ -3860,7 +3860,7 @@ no oplock granted on this file (%s).\n", fsp->fnum, fsp->fsp_name));
status = do_lock_spin(fsp,conn,lock_pid, count,offset,
((locktype & 1) ? READ_LOCK : WRITE_LOCK));
if (NT_STATUS_V(status)) {
- if ((lock_timeout != 0) && lp_blocking_locks(SNUM(conn))) {
+ if ((lock_timeout != 0) && lp_blocking_locks(SNUM(conn)) && ERROR_WAS_LOCK_DENIED(status)) {
/*
* A blocking lock was requested. Package up
* this smb into a queued request and push it