set_filetime problem
Juergen Hasch
Hasch at t-online.de
Sun Dec 16 04:27:02 GMT 2001
Hi,
I want to come back to a message sent from Mike Black on the Samba list some
time ago:
List: samba
Subject: set_filetime problem
From: "Mike Black" <mblack at csihq.com>
Date: 2001-06-01 11:45:55
[Download message RAW]
samba-2.2.0 on Linux 2.4.5
When copying a file from client to samba server the file date/time is set to
the \
current time instead of the original file date/time. This works OK on 2.0.7
Problem appears to be in smbd/replyc.c reply_close()
The set_filetime works correctly.
But, the close_file() call flushes the write cache which updates the date/time
on the \
file overruling the set_filetime.
Solution:
set_filetime should be called AFTER close_file. However close_file frees the
fsp and \
pending_modtime so a copy will have to be made before close_file. \
________________________________________ Michael D. Black Principal Engineer
mblack at csihq.com 321-676-2923,x203
http://www.csihq.com Computer Science Innovations
http://www.csihq.com/~mike My home page
FAX 321-676-2355
------------------------------------------------------------------------------
I have the same problem here with current Samba_2_2 from CVS.
When I set the write cache size to > 0, the file dates are lost
when copying to a samba share.
The following patch seems to correct this behaviour:
--- reply.c.orig Sun Dec 16 12:14:33 2001
+++ reply.c Sun Dec 16 12:27:40 2001
@@ -2964,6 +2964,8 @@
*/
int close_err;
+ /* flush write cache before setting mtime */
+ flush_write_cache(fsp, WRITE_FLUSH);
/*
* If there was a modify time outstanding,
* try and set it here.
Should it be done differently ?
...Juergen
More information about the samba-technical
mailing list