[linux-cifs-client] Re: NOCMTIME and NOATIME

Steve French (smfltc) smfltc at us.ibm.com
Wed Feb 14 15:28:03 GMT 2007


Jeremy Allison wrote:

>On Tue, Feb 13, 2007 at 03:44:58PM -0600, Steve French (smfltc) wrote:
>  
>
>>Shirish noticed that the NOATIME and NOCMTIME flags that cifs sets in 
>>new inodes
>>in order to prevent writes of the clients file access and file 
>>modfication timestamps to the server
>>(we intended to use the servers instead) were getting overwritten in the 
>>VFS.
>>    
>>
>
>How did that happen ?
>  
>
CIFS set i_flags after allocation of the cifs specific inode structure 
(which includes the vfs inode which contains i_flags and other 
fields).   The VFS sets some vfs inode fields in fs/inode.c to zero 
(including i_flags) after the inode is allocated by the fs specific 
routine (cifs_alloc_inode in our case).   NFS works around this by 
updating flags later - basically checking for I_NEW (inode in new state) 
when updating the inode - and setting i_flags when the inode is marked 
as new.


More information about the linux-cifs-client mailing list