mount_smbfs timestamp problem
Guy Harris
guy at alum.mit.edu
Mon Sep 13 19:54:23 PDT 2004
> Any date&time will be rounded up to previous even second :-(
It's probably using SMB_INFO_STANDARD rather than
SMB_SET_FILE_BASIC_INFO as the information level in a
TRANS2_SET_FILE_INFORMATION or TRANS2_SET_PATH_INFORMATION call.
SMB_INFO_STANDARD uses DOS dates and times, which have 2-second
resolution; SMB_SET_FILE_BASIC_INFO uses NT FILETIME values, which have
100-nanosecond resolution.
The CIFS 1.0 spec only mentions SMB_SET_FILE_BASIC_INFO for
TRANS2_SET_FILE_INFORMATION, not for TRANS2_SET_PATH_INFORMATION, but I
would not be surprised if that weren't just an accidental omission
(it's silly to have one work but not the other in, say, NT, although
maybe the W95/W98/WMe server and file system code path is bizarre
enough that only one of them works).
If CAP_NT_SMBS is set in the NEGOTIATE reply, the SMB client should
probably use SMB_SET_FILE_BASIC_INFO.
More information about the freebsd-fs
mailing list