[linux-cifs-client] Re: updated patch for cifs for SLES

Steve French smfrench at austin.rr.com
Mon Apr 18 17:02:35 GMT 2005


Dave/Vince,
I fixed the cifs caching bug you pointed out.  A similar
change also had to be made to cifs's unix_fill_in_inode (for the Samba
etc. server path as well) - and I modified the patch
to not invalidate the inode pages on new cifs inodes
or non-file inodes to make it less invasive and likely a bit faster.

Please double check the patch.

Another issue to think through is whether there is any possibility of a
race between getting the times/sizes from the server on the readdir
(instantiating a new inode on the client in the process) and setting the
time in the inode - in which another lookup/revalidate could come in on
the same new inode and data could be read from the server (which would
not be invalidated because the time was set to the wrong time).  It
seems inconceivable that that many operations could complete between
those few instructions - especially as the readdir holds a sem, and any
changes to the server time would force an invalidate anyway.

The patch is at: 
http://cifs.bkbits.net:8080/linux-2.5cifs/gnupatch@4263e50ekLZGxJ5dAH7_Zf8lGWtWtA

One more change left (unrelated) and I will create a cifs version 1.33
for RHEL4/FC3/Suseworktation/SLES9 tomorrow and then I think that is a
good stopping point for sending off to mainline.



More information about the linux-cifs-client mailing list