Coda File System

Re: SMB / Coda / venus hangs

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Thu, 14 Aug 2003 09:27:05 -0400
On Wed, Aug 13, 2003 at 06:04:16PM +0200, Tom Weber wrote:
>   Now we accessed the coda file system on the server thru a SMB share
> (smb share to /coda/codaserver/httpd/htdocs) which seemed to run
> perfectly, but now we have the problem that periodicly (every 5-10
> minutes) several nodes of the 5 clients either:
>   - are out of sync
>   - say "connection timed out"
>   - simply hang when using a command like cat or touch on the coda
>   filesystem

The last time I played around with Samba, I think I noticed two
problems.

1- Samba always opened files read/write. Because we don't track
individual write calls in our kernel module we never notice that no
actual writes have taken place. Venus still has to assume that the file
is modified and will write back the 'new data'.

2- Samba caches file handles. Because Coda uses session semantics,
updates are not propagated until the file is closed. Since Samba doesn't
close the fds when a 'session' ends, we neither fetch updated versions
from the server, nor send updates back to the server. The open files
also use up cache space and we cannot drop them as space is needed. By
caching fds, Samba also hides useful information about file usage which
affects the cache replacement policy.

All of the things you describe can result from these two problems.
"out of sync" because filehandles are kept open and updates are not
propagated. Timeouts and hangs could be caused by not having cache space
available (since everything is already used up by the 'open' files).

Jan
Received on 2003-08-14 09:28:16