[OpenAFS-devel] error laptop

Jeffrey Hutzelman jhutz@cmu.edu
Wed, 06 Dec 2006 00:55:38 -0500


On Wednesday, November 15, 2006 06:19:36 PM -0500 Jim Rees <rees@umich.edu> 
wrote:

> I've been thinking about doing a quick and dirty "good enough" version of
> disconnected afs.  Read-only, with network I/O set up to just fail instead
> of timing out.

Well, a first cut at this would be straightforward - just add a global 
"offline" flag which makes the cache manager behave just as it would if all 
servers were "down".  Oh, and while your at it, fix the "retry down 
vlservers forever" problem.

A slightly better fix would be to skip certain operations when this flag is 
set.  For example, if you encounter a vnode that's not CStatd, ignore that 
fact and behave as if it is.  Unfortunately, it's not _quite_ that simple, 
because you need to distinguish between vcache entries which have never had 
that bit and those which did, but no longer do because callbacks are 
expired.

An alternate approach might be to prevent the expiration of callbacks while 
the offline flag is set, but IMHO that's less desirable, both because it 
reduces the benefit of manually setting the flag after you notice the 
network has gone away and because it creates a need to track the callbacks 
that should have expired while the bit was set, so they can be expired when 
it is turned back off.

-- Jeff