Re: smbfs trace on WfW

Bill Hawes (
Thu, 11 Dec 1997 11:10:47 -0500

Hi Steve,

No need to do further tracing on the read cacheing problem -- I've
figured out what's happening. Smbfs gives dentries a short lifetime as a
hedge against changes on the server, but then renews the lifetime for
each successful lookup. (A successful path operation in SMB indicates
that the entire path is still valid.)

Prior versions of smbfs were doing a getattr after every read and write,
so there were frequent renewals of the dentries. But after removing the
getattr calls to speed things up, the dentries may expire while the file
is being written. This happens with 8M/512 byte writes under NT, but
with 1M files on your system. (I'm not renewing the dentries on a read
or write, as these use the fileid rather than path lookup, so possibly
the path might have changed.)

I haven't decided on the best way to fix this -- possibly doing a
getattr at closing time would be reasonable. But read cacheing _is_
working, just not on files that take more than 5 sec to write.