[OpenAFS-devel] error laptop

Jeffrey Hutzelman jhutz@cmu.edu
Wed, 06 Dec 2006 12:42:49 -0500


On Wednesday, December 06, 2006 09:48:59 AM -0500 Jim Rees <rees@umich.edu> 
wrote:

> We've already got the flag and a mechanism for setting it.  It's the
> PDiscon pioctl.  The flag is not global now but could be.
>
> I suppose I should write something up.  I think at this point it might be
> better to start from scratch with the old discon code and papers as a
> guide rather than to try to port the old code.
>
> The steps are, roughly:
>
> 1. Make afs_Analyze fail if disconnected
> 2. Fix read vnode ops to use cached data if available, else fail
> 3. Fix write vnode ops to modify the cache, and log the operation
> 4. Add code to replay the log after reconnection
> 5. Add code to pickle the vcache and dcache across restarts
> 6. Write the optimizer

That's full disconnected mode, which is a great idea, but also a fair bit 
of work, especially since you left out the key step that makes it all 
usable:

7. Design and implement conflict resolution.


I was talking about the "good enough" version you mentioned earlier, which 
has also been discussed in the past.  That's much simpler because it 
replaces all those steps with two:

- Behave as if all fileservers are down
- Allow use of cached data even for vnodes that are not CStatd

-- Jeff