Coda File System

Re: Application-Specific Resolution

From: Adam Wolbach <awolbach_at_andrew.cmu.edu>
Date: Wed, 19 Apr 2006 14:09:19 -0400
> The most important thing for me would be text files.  (Actually the
> most important thing would be to fix all the reintegration/conflict
> bugs that cause conflicts when none should be happening - but that's
> gotten a lot better over the last few years.)
>
> The next most important thing would be to be able to do ASR on the
> plaintext of files stored with the ciphertext in CFS.
>
>   The Linux ASR framework has been completed and is working in an
>   experimental branch in the git repository.
>
> Do you really mean that this is Linux specific and won't run on BSD?
> I think it would be useful to post the design and interface
> specification to ASRs.  Does this work change the venus/kernel
> interface, or just interact with venus, or just use repair ioctls and
> the filesystem?
>   
I haven't tried it yet on BSD -- there might be a few library calls I 
make that are Linux specific, but certainly the work does not change the 
venus/kernel interface. It uses accesses and writes to the file system 
along with existing repair tools (filerepair, e.g.), although it comes 
with a few more cfs calls that make playing with a volume's CML possible 
from the command line.  I will test ASR's shortly on a BSD installation; 
the goal is to have the ASR framework be platform-independent.

A short design overview: what really happens upon conflict discovery, is 
venus (upon noticing a conflict) forks the ASRLauncher, an ASR handler 
program that performs the search for an ASR rules file, parses the file, 
resolves dependencies and executes the appropriate ASR, if it checks 
out. The ASR then just purely interacts with Venus and the file system.

I will post documentation, including design/implementation 
considerations, to the Coda Wiki in the near future, but feel free to 
ask any more questions you may have, I will be checking the codalist.


Adam Wolbach
Received on 2006-04-19 14:10:20