[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