svn commit: samba r9103 - in trunk/source/smbd: .

vlendec at samba.org vlendec at samba.org
Fri Aug 5 05:42:09 GMT 2005


Author: vlendec
Date: 2005-08-05 05:42:09 +0000 (Fri, 05 Aug 2005)
New Revision: 9103

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9103

Log:
Hmm. It's too late :-)

Here's the real fix for the problem jerry sees.

Volker

Modified:
   trunk/source/smbd/open.c
   trunk/source/smbd/oplock.c


Changeset:
Modified: trunk/source/smbd/open.c
===================================================================
--- trunk/source/smbd/open.c	2005-08-05 05:32:39 UTC (rev 9102)
+++ trunk/source/smbd/open.c	2005-08-05 05:42:09 UTC (rev 9103)
@@ -1670,7 +1670,10 @@
 	set_share_mode(fsp, 0, fsp->oplock_type);
 	if ((fsp->oplock_type != NO_OPLOCK) &&
 	    (fsp->oplock_type != FAKE_LEVEL_II_OPLOCK)) {
-		set_file_oplock(fsp, fsp->oplock_type);
+		if (!set_file_oplock(fsp, fsp->oplock_type)) {
+			/* Could not get the kernel oplock */
+			fsp->oplock_type = NO_OPLOCK;
+		}
 	}
 
 	if (create_options & FILE_DELETE_ON_CLOSE) {

Modified: trunk/source/smbd/oplock.c
===================================================================
--- trunk/source/smbd/oplock.c	2005-08-05 05:32:39 UTC (rev 9102)
+++ trunk/source/smbd/oplock.c	2005-08-05 05:42:09 UTC (rev 9103)
@@ -110,9 +110,8 @@
 
 BOOL set_file_oplock(files_struct *fsp, int oplock_type)
 {
-	if (koplocks) {
-		koplocks->set_oplock(fsp, oplock_type);
-	}
+	if (koplocks && !koplocks->set_oplock(fsp, oplock_type))
+		return False;
 
 	fsp->oplock_type = oplock_type;
 	fsp->sent_oplock_break = NO_BREAK_SENT;



More information about the samba-cvs mailing list