Subject: Re: Recoverable Network File System?
To: Sean J. Schluntz <schluntz@workofstone.com>
From: Greg Troxel <gdt@ir.bbn.com>
List: netbsd-users
Date: 12/12/2003 15:02:58
  Thanks for the feedback, I guess that brings me down to one question.  
  Is it possible to turn off the write cache?  I have one instance where 
  two mail servers may try to write to the same network mounted mail 
  spool at the same time :/  Having one hit cached could really run me in 
  to trouble.

Not quite.   There are three fundamental states:

  disconnected: read from cache only, log writes

  write-disconnected: read from cache, filling from net,
		      log writes, trickle reintegrate writes

  connected: read from cache, filling from net, synchronous writes to server

The second two modes register read locks on files they have open
for reading, and writing in connected mode invalidates others' read
locks via callbacks.

One is in disconnected mode if the connection to the server is lost.
If the server answers, normal behavior is adaptive to choose between
w-d and connected depending on estimated bandwidth.
'cfs strong' says to say 'connected' in that case, but it can still
get disconnected (e.g. if the server goes down).

What you probably want is for venus to return ETIMEDOUT on all
operations when the server is disconnected.

But, you might want to just run AFS, since write caching is most of
the point of coda.

Also, you mentioned alpha, and I suspect there are more 64-bit dragons
to slay before it works there.  I use it on i386 and sparc now.