Mini-Conference Proposal: olpcfs

C. Scott Ananian cscott at laptop.org
Wed Apr 2 13:42:06 EDT 2008


On Tue, Mar 25, 2008 at 11:44 AM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
> On Mon, Mar 24, 2008 at 5:35 PM, C. Scott Ananian <cscott at laptop.org> wrote:
>  >  Delta-based storage is an implementation detail, certainly possible (I
>  >  provided cites in the olpcfs page for how it would be done).  I don't
>  >  think it should be a visible part of the API.
>
>  Of course it is an implementation detail, but one that is a major
>  roadblock in the effort to implement the specified design.

The olpcfs design envisions a user-space process to do garbage
collection of old versions; it's not hard to do delta-compression in
userspace.  xdelta and bsdiff do a fine job.  To transparently
uncompress when the old version is accessed is only a little more
difficult, you just link to libxdelta2.

>  >  >  - get a saner way of passing files from activity side to the DS-managed side,
>  >
>  >  My answer here: they are just files.  All existing applications can
>  >  open files, given a path.
>
>  I was talking here about the other way, checking in files into the DS:
>  during a Write session, what needs to do the activity in order to get
>  a new version every time after the user clicks on the Keep button?
>  Just close the file and open it again?

Yes.

>  In most cases, every time an activity saves the current state several
>  files plus their metadata will be updated, can that happen atomically?

Well, it's certainly *possible* in the current implementation, but I'm
wary of promising too much.  POSIX generally doesn't provide
multi-file atomic update.  Amino
(http://www.fsl.cs.sunysb.edu/docs/amino-phdthesis/amino.ps) extended
ACID transactions to POSIX-land via some heuristics (treat all
operations by this application as atomic, etc), but I'm not convinced
yet that this is necessary.  Can you provide some specific use
examples?
 --scott

-- 
 ( http://cscott.net/ )



More information about the Devel mailing list