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