[SCM] SAMBA-CTDB repository - branch v3-2-ctdb updated - 3.2.11-ctdb-69-1-gf957e56

Michael Adam obnox at samba.org
Fri Jan 15 09:58:24 MST 2010


The branch, v3-2-ctdb has been updated
       via  f957e56ae7b041abc15e5fadc3847da6ca80aece (commit)
      from  7527cfbc73be52e351dbc5579d840972f7532769 (commit)

http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-2-ctdb


- Log -----------------------------------------------------------------
commit f957e56ae7b041abc15e5fadc3847da6ca80aece
Author: Tim Prouty <tprouty at samba.org>
Date:   Tue Feb 3 23:17:48 2009 -0800

    s3 oplocks: Remove oplocks before handling delete on close semantics
    
    Unlinking a file while still holding an oplock can cause problems with
    kernel oplocks.  This simply releases the oplock before actually
    unlinking the file.

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

Summary of changes:
 source/smbd/close.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/smbd/close.c b/source/smbd/close.c
index 81d25ef..114de2d 100644
--- a/source/smbd/close.c
+++ b/source/smbd/close.c
@@ -553,6 +553,11 @@ static NTSTATUS close_normal_file(files_struct *fsp, enum file_close_type close_
 		return NT_STATUS_OK;
 	}
 
+	/* Remove the oplock before potentially deleting the file. */
+	if(fsp->oplock_type) {
+		release_file_oplock(fsp);
+	}
+
 	/* If this is an old DOS or FCB open and we have multiple opens on
 	   the same handle we only have one share mode. Ensure we only remove
 	   the share mode on the last close. */
@@ -562,10 +567,6 @@ static NTSTATUS close_normal_file(files_struct *fsp, enum file_close_type close_
 		saved_status3 = close_remove_share_mode(fsp, close_type);
 	}
 
-	if(fsp->oplock_type) {
-		release_file_oplock(fsp);
-	}
-
 	locking_close_file(smbd_messaging_context(), fsp);
 
 	status = fd_close(fsp);


-- 
SAMBA-CTDB repository


More information about the samba-cvs mailing list