svn commit: samba r20781 - in branches: SAMBA_3_0/source/smbd
SAMBA_3_0_24/source/smbd
jra at samba.org
jra at samba.org
Sun Jan 14 19:43:07 GMT 2007
Author: jra
Date: 2007-01-14 19:43:06 +0000 (Sun, 14 Jan 2007)
New Revision: 20781
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20781
Log:
Fix a couple of paths found by Volker where we weren't
correctly handling deferred opens.
Jeremy.
Modified:
branches/SAMBA_3_0/source/smbd/nttrans.c
branches/SAMBA_3_0/source/smbd/trans2.c
branches/SAMBA_3_0_24/source/smbd/nttrans.c
branches/SAMBA_3_0_24/source/smbd/trans2.c
Changeset:
Modified: branches/SAMBA_3_0/source/smbd/nttrans.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/nttrans.c 2007-01-14 19:08:14 UTC (rev 20780)
+++ branches/SAMBA_3_0/source/smbd/nttrans.c 2007-01-14 19:43:06 UTC (rev 20781)
@@ -1853,8 +1853,14 @@
status = rename_internals(conn, fsp->fsp_name,
new_name, 0, replace_if_exists, path_contains_wcard);
- if (!NT_STATUS_IS_OK(status))
+
+ if (!NT_STATUS_IS_OK(status)) {
+ if (open_was_deferred(SVAL(inbuf,smb_mid))) {
+ /* We have re-scheduled this call. */
+ return -1;
+ }
return ERROR_NT(status);
+ }
/*
* Rename was successful.
Modified: branches/SAMBA_3_0/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/trans2.c 2007-01-14 19:08:14 UTC (rev 20780)
+++ branches/SAMBA_3_0/source/smbd/trans2.c 2007-01-14 19:43:06 UTC (rev 20781)
@@ -4459,9 +4459,15 @@
fname, newname ));
status = rename_internals(conn, fname, base_name, 0, overwrite, False);
}
+
if (!NT_STATUS_IS_OK(status)) {
+ if (open_was_deferred(SVAL(inbuf,smb_mid))) {
+ /* We have re-scheduled this call. */
+ return -1;
+ }
return ERROR_NT(status);
}
+
process_pending_change_notify_queue((time_t)0);
SSVAL(params,0,0);
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0, max_data_bytes);
Modified: branches/SAMBA_3_0_24/source/smbd/nttrans.c
===================================================================
--- branches/SAMBA_3_0_24/source/smbd/nttrans.c 2007-01-14 19:08:14 UTC (rev 20780)
+++ branches/SAMBA_3_0_24/source/smbd/nttrans.c 2007-01-14 19:43:06 UTC (rev 20781)
@@ -1853,8 +1853,14 @@
status = rename_internals(conn, fsp->fsp_name,
new_name, 0, replace_if_exists, path_contains_wcard);
- if (!NT_STATUS_IS_OK(status))
+
+ if (!NT_STATUS_IS_OK(status)) {
+ if (open_was_deferred(SVAL(inbuf,smb_mid))) {
+ /* We have re-scheduled this call. */
+ return -1;
+ }
return ERROR_NT(status);
+ }
/*
* Rename was successful.
Modified: branches/SAMBA_3_0_24/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0_24/source/smbd/trans2.c 2007-01-14 19:08:14 UTC (rev 20780)
+++ branches/SAMBA_3_0_24/source/smbd/trans2.c 2007-01-14 19:43:06 UTC (rev 20781)
@@ -4459,9 +4459,15 @@
fname, newname ));
status = rename_internals(conn, fname, base_name, 0, overwrite, False);
}
+
if (!NT_STATUS_IS_OK(status)) {
+ if (open_was_deferred(SVAL(inbuf,smb_mid))) {
+ /* We have re-scheduled this call. */
+ return -1;
+ }
return ERROR_NT(status);
}
+
process_pending_change_notify_queue((time_t)0);
SSVAL(params,0,0);
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0, max_data_bytes);
More information about the samba-cvs
mailing list