diff options
author | Jeremy Allison <jra@samba.org> | 2009-11-05 16:20:11 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-11-05 16:20:11 -0800 |
commit | 7f9fe127ba31e6dd064d090d5ffc8eeb377627ab (patch) | |
tree | 6b2c63f2d022c82c14ea517bac06e49a605b4f5e /source3/smbd/reply.c | |
parent | c2df97f57ce205935c37cd5a90cfeddb129cd92b (diff) | |
download | samba-7f9fe127ba31e6dd064d090d5ffc8eeb377627ab.tar.gz samba-7f9fe127ba31e6dd064d090d5ffc8eeb377627ab.tar.xz samba-7f9fe127ba31e6dd064d090d5ffc8eeb377627ab.zip |
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.
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 984cf56c11..37634acc2c 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -4646,7 +4646,7 @@ void reply_close(struct smb_request *req) */ t = srv_make_unix_date3(req->vwv+1); - set_close_write_time(fsp, convert_time_t_to_timespec(t)); + set_close_write_time(NULL, fsp, convert_time_t_to_timespec(t)); /* * close_file() returns the unix errno if an error @@ -4723,7 +4723,7 @@ void reply_writeclose(struct smb_request *req) nwritten = write_file(req,fsp,data,startpos,numtowrite); - set_close_write_time(fsp, mtime); + set_close_write_time(NULL, fsp, mtime); /* * More insanity. W2K only closes the file if writelen > 0. @@ -6691,7 +6691,7 @@ NTSTATUS copy_file(TALLOC_CTX *ctx, close_file(NULL, fsp1, NORMAL_CLOSE); /* Ensure the modtime is set correctly on the destination file. */ - set_close_write_time(fsp2, smb_fname_src->st.st_ex_mtime); + set_close_write_time(NULL, fsp2, smb_fname_src->st.st_ex_mtime); /* * As we are opening fsp1 read-only we only expect |