samba-2.0.7pre2 and file timestamps
Nelson, John P.
NelsonJP at genrad.com
Mon Mar 20 23:29:00 GMT 2000
I just installed 2.0.7pre2 on a test system.
The file "touch" problem from 2.0.6 seems to be back. Running various
utilities called "touch" do not successfully update file timestamps on a
filesystem provided by 2.0.7pre2.
I actually prefer THIS incorrect behavior over the behavior I've seen after
this bug is "fixed". The bugfix posted by Paul Eggert for 2.0.6 (and the
one from H.-P. Ermert before that), changed a line in smbd/trans2.c which is
handling SMB_SET_FILE_BASIC_INFO from tvs.modtime=MIN(...) to
tvs.modtime=MAX(...) - this is line 1717 in the 2.0.7pre2 version of
smbd/trans2.c. Interestingly, 2.0.7pre2 has the bugfix from Paul Eggert
incorporated, but with MAX flipped back to MIN.
I don't think either MIN or MAX is completely correct here. This code
compiled using MIN breaks "touch". This code compiled using MAX causes
files copied (using either DOS copy or NT explorer) from an NTFS volume to a
Samba volume to have incorrect timestamps. Presumably, the CORRECT logic
needs to be a little bit more complicated than either.
(Both problems, by the way, are completely resolved by setting "nt smb
support = no", if you don't mind shutting off all the advanced support).
More information about the samba