summaryrefslogtreecommitdiffstats
path: root/source3/smbd/fileio.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-03-10 21:43:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:55:58 -0500
commit95e68fa7f8c109204b3ddaeb530e192c71b40e58 (patch)
treecc0277ddadbfbb929bec2adc254554ca798cfa14 /source3/smbd/fileio.c
parent82379c7bd1827601630da120f5b5ebb9061ce2b5 (diff)
downloadsamba-95e68fa7f8c109204b3ddaeb530e192c71b40e58.tar.gz
samba-95e68fa7f8c109204b3ddaeb530e192c71b40e58.tar.xz
samba-95e68fa7f8c109204b3ddaeb530e192c71b40e58.zip
r5731: Get delayed write semantics closer to W2K3. We need to store 2 times.
This may fix bug #2382. Jeremy. (This used to be commit a27c351e6beafc6609790a9bb9a3d0a1331e8f35)
Diffstat (limited to 'source3/smbd/fileio.c')
-rw-r--r--source3/smbd/fileio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/fileio.c b/source3/smbd/fileio.c
index a21bd69a36c..3048c27fa25 100644
--- a/source3/smbd/fileio.c
+++ b/source3/smbd/fileio.c
@@ -142,6 +142,12 @@ static ssize_t real_write_file(files_struct *fsp,char *data,SMB_OFF_T pos, size_
if (fsp->pending_modtime) {
set_filetime(fsp->conn, fsp->fsp_name, fsp->pending_modtime);
+
+ /* If we didn't get the "set modtime" call ourselves, we must
+ store the last write time to restore on close. JRA. */
+ if (!fsp->pending_modtime_owner) {
+ fsp->last_write_time = time(NULL);
+ }
}
/* Yes - this is correct - writes don't update this. JRA. */