Coda File System

Re: Problem with mv(1)

From: Peter J. Braam <braam_at_cs.cmu.edu>
Date: Sun, 29 Nov 1998 14:41:04 -0500 (EST)
On Sun, 29 Nov 1998, Michael Salzmann wrote:

> 
> 
> 
> On Fri, Nov 27, 1998 at 04:16:56PM -0500, Peter J. Braam wrote:
> > Michael,
> > 
> > Yes what you show is slow, but for a reason.  The Coda servers are
> > stateful and protect clients from seeing bad data.  The protocol is that
> > of callback promises, and when a client wants to store a new version,
> > servers will first break callbacks at all other clients.  In this way read
> > only access to files/directories goes without ever contacting the servers
> > provided files are in cache. 
> > 
> > Before you made the final change on client2 your server called all other
> > clients to break the callback (including the client1 that you had
> > shutdown). [The servers do this with a multi rpc to limit the total wait
> > to a single timeout.] Client1 was no longer on the net, so the server let
> > the RPC time out [sending a variety of retransmisions etc].  This is what
> > took a minute.
> 
> Hmm, isn't it possible to do this asynchronously? 

Yes, but then one loses the guarantee that a client see only up to date
data.

> 
> 
> > 
> > Yet, you do have a point: when a client is shut down orderly, we should
> > tell all the servers to which we hold about it, so that it destroys state
> > in an orderly fashion.
> > 
> 
> That doesn't help. For my application I need a shorter response time (< 15
> sec.) even if the other client crashes. Is it difficult (possible) to patch
> the server/rpc2-library and modify the timeout?
> 

Sure.  Start the codaserver (codasrv) with an extra parameter:
-o "timeout value"

No one here has tried that for a while, but hopefully it still works.

- Peter -


> -MIC
> 
> 
Received on 1998-11-29 14:42:52