svn commit: samba r17248 - in branches: SAMBA_3_0/source/smbd SAMBA_3_0_23/source/smbd

jra at samba.org jra at samba.org
Wed Jul 26 02:15:01 GMT 2006


Author: jra
Date: 2006-07-26 02:15:01 +0000 (Wed, 26 Jul 2006)
New Revision: 17248

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

Log:
Ensure we definately add the WRITE_DATA on O_TRUNC.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/open.c
   branches/SAMBA_3_0_23/source/smbd/open.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/open.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/open.c	2006-07-26 01:53:23 UTC (rev 17247)
+++ branches/SAMBA_3_0/source/smbd/open.c	2006-07-26 02:15:01 UTC (rev 17248)
@@ -1297,9 +1297,6 @@
 	/* This is a nasty hack - must fix... JRA. */
 	if (access_mask == MAXIMUM_ALLOWED_ACCESS) {
 		open_access_mask = access_mask = FILE_GENERIC_ALL;
-		if (flags2 & O_TRUNC) {
-			open_access_mask |= FILE_WRITE_DATA; /* This will cause oplock breaks. */
-		}
 	}
 
 	/*
@@ -1309,6 +1306,10 @@
 	se_map_generic(&access_mask, &file_generic_mapping);
 	open_access_mask = access_mask;
 
+	if (flags2 & O_TRUNC) {
+		open_access_mask |= FILE_WRITE_DATA; /* This will cause oplock breaks. */
+	}
+
 	DEBUG(10, ("open_file_ntcreate: fname=%s, after mapping "
 		   "access_mask=0x%x\n", fname, access_mask ));
 

Modified: branches/SAMBA_3_0_23/source/smbd/open.c
===================================================================
--- branches/SAMBA_3_0_23/source/smbd/open.c	2006-07-26 01:53:23 UTC (rev 17247)
+++ branches/SAMBA_3_0_23/source/smbd/open.c	2006-07-26 02:15:01 UTC (rev 17248)
@@ -1292,9 +1292,6 @@
 	/* This is a nasty hack - must fix... JRA. */
 	if (access_mask == MAXIMUM_ALLOWED_ACCESS) {
 		open_access_mask = access_mask = FILE_GENERIC_ALL;
-		if (flags2 & O_TRUNC) {
-			open_access_mask |= FILE_WRITE_DATA; /* This will cause oplock breaks. */
-		}
 	}
 
 	/*
@@ -1304,6 +1301,10 @@
 	se_map_generic(&access_mask, &file_generic_mapping);
 	open_access_mask = access_mask;
 
+	if (flags2 & O_TRUNC) {
+		open_access_mask |= FILE_WRITE_DATA; /* This will cause oplock breaks. */
+	}
+
 	DEBUG(10, ("open_file_ntcreate: fname=%s, after mapping "
 		   "access_mask=0x%x\n", fname, access_mask ));
 



More information about the samba-cvs mailing list