svn commit: samba r20534 - in branches/SAMBA_3_0_24/source/smbd: .
jra at samba.org
jra at samba.org
Thu Jan 4 22:52:09 GMT 2007
Author: jra
Date: 2007-01-04 22:52:09 +0000 (Thu, 04 Jan 2007)
New Revision: 20534
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20534
Log:
Final merge of Volker's work - we should be in sync
on the file server code now except for the change
notify code.
"Closing a dir with del-on-close set requires the same as files: Don't actually
unlink/rmdir if another process still has it open.
Jeremy, this is a potential merger to 3.0.24."
Jeremy.
Modified:
branches/SAMBA_3_0_24/source/smbd/close.c
Changeset:
Modified: branches/SAMBA_3_0_24/source/smbd/close.c
===================================================================
--- branches/SAMBA_3_0_24/source/smbd/close.c 2007-01-04 22:40:44 UTC (rev 20533)
+++ branches/SAMBA_3_0_24/source/smbd/close.c 2007-01-04 22:52:09 UTC (rev 20534)
@@ -392,6 +392,18 @@
delete_dir = (lck->delete_on_close | lck->initial_delete_on_close);
+ if (delete_dir) {
+ int i;
+ /* See if others still have the dir open. If this is the
+ * case, then don't delete */
+ for (i=0; i<lck->num_share_modes; i++) {
+ if (is_valid_share_mode_entry(&lck->share_modes[i])) {
+ delete_dir = False;
+ break;
+ }
+ }
+ }
+
if ((close_type == NORMAL_CLOSE || close_type == SHUTDOWN_CLOSE) &&
delete_dir &&
lck->delete_token) {
More information about the samba-cvs
mailing list