[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-263-ga830a3f

Jeremy Allison jra at samba.org
Tue Jul 7 18:14:55 GMT 2009


The branch, master has been updated
       via  a830a3f9e292931acd90b5cf5cdffc6e83ea00c7 (commit)
      from  6dd6ccbdc9451678180e0346780b0a5bf9cda229 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a830a3f9e292931acd90b5cf5cdffc6e83ea00c7
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jul 7 15:16:21 2009 +0200

    s3:smbd: cancel all locks that are made before the first failure
    
    s3:smbd: cancel all locks that are made before the first failure
    
    We never reached the cleanup code and directly returned the error.
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 source3/smbd/reply.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 8700146..c07ac33 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -7491,18 +7491,18 @@ void reply_lockingX(struct smb_request *req)
 		}
 
 		if (NT_STATUS_V(status)) {
-			END_PROFILE(SMBlockingX);
-			reply_nterror(req, status);
-			return;
+			break;
 		}
 	}
 
 	/* If any of the above locks failed, then we must unlock
 	   all of the previous locks (X/Open spec). */
+	if (num_locks != 0 && !NT_STATUS_IS_OK(status)) {
+
+		if (locktype & LOCKING_ANDX_CANCEL_LOCK) {
+			i = -1; /* we want to skip the for loop */
+		}
 
-	if (!(locktype & LOCKING_ANDX_CANCEL_LOCK) &&
-			(i != num_locks) &&
-			(num_locks != 0)) {
 		/*
 		 * Ensure we don't do a remove on the lock that just failed,
 		 * as under POSIX rules, if we have a lock already there, we


-- 
Samba Shared Repository


More information about the samba-cvs mailing list