The branch, v3-5-test has been updated
via bf21f34... Fix explicit set of write time on close. Jeremy. (cherry
picked from commit 2f09516a6be67d3e51ffc611ae2daa3210f07cd8)
from a153f7d... Get closer to an accurate model of Windows timestamp
changes. "Normal" non truncate writes always cause the timestamp to be set on
close. Once a close is done on a handle this can reset the sticky write time to
current time also. Updated smbtorture4 confirms this. Jeremy. (cherry picked
from commit 7f9fe127ba31e6dd064d090d5ffc8eeb377627ab)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit bf21f3492b64c627e1853886b576b271b8f24503
Author: Jeremy Allison <[email protected]>
Date: Thu Nov 5 17:12:11 2009 -0800
Fix explicit set of write time on close.
Jeremy.
(cherry picked from commit 2f09516a6be67d3e51ffc611ae2daa3210f07cd8)
-----------------------------------------------------------------------
Summary of changes:
source3/smbd/close.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/smbd/close.c b/source3/smbd/close.c
index c1623ce..0f1bd90 100644
--- a/source3/smbd/close.c
+++ b/source3/smbd/close.c
@@ -299,7 +299,11 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp,
DEBUG(10,("close_remove_share_mode: update_write_time_on_close "
"set for file %s\n",
fsp_str_dbg(fsp)));
- set_close_write_time(lck, fsp, timespec_current());
+ if (null_timespec(fsp->close_write_time)) {
+ set_close_write_time(lck, fsp, timespec_current());
+ } else {
+ set_close_write_time(lck, fsp, fsp->close_write_time);
+ }
}
if (!del_share_mode(lck, fsp)) {
--
Samba Shared Repository