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

Reply via email to