Coda and tahoe have different goals, but Coda people should know about
tahoe; see www.tahoe-lafsorg.

Briefly, servers store erasure-coded ciphertext, and users have
capabilities that encode the encryption key, erasure coding paramaters,
and a storage index.  There is no locking, and no attempt to provide
semantic consistency approaching traditional unix filesystem behavior.
One renews leases on stored shares and other shares are garbage
collected.  But unlike coda, the storage grid can include people you
don't trust (or even know) and storage nodes can come and go without any
real trouble.

This message is about a discussion in tahoe to make a caching gateway,
so that not every file is fetched every time.

--- Begin Message ---
#935: zandr's FUSE/NAS idea
-------------------------------+--------------------------------------------
     Reporter:  warner         |       Owner:                                   
                 
         Type:  enhancement    |      Status:  new                              
                 
     Priority:  major          |   Milestone:  eventually                       
                 
    Component:  code-frontend  |     Version:  1.5.0                            
                 
   Resolution:                 |    Keywords:  fuse smb sftp sshfs webdav cache 
preservation gsoc
Launchpad Bug:                 |  
-------------------------------+--------------------------------------------

Comment (by gdt):

 There is prior art that should be studied, in particular Coda.  Coda's
 primary concept is that files are stored on replicated servers, and that
 clients have a cache.  In this way it is similar to AFS, which can satisfy
 reads from the cache when no servers are reachable.  Coda adds the ability
 to do disconnected writes, where changes are cached and reintegrated.
 This in turn requires fairly complex conflict detection and resolution
 code.

 Not required by the above vision, but also present in Coda, is a kernel
 module (for Linux, and for various BSDs) that implements vnodeops and
 passes operations to userspace.  This is similar to FUSE, but predates it
 - I've been using it since probably 1997.  One of Coda's design goals is
 to be efficient once you have the file - operations on a file in coda are
 actually done on the container file, which is a normal file on the local
 disk, and these operations are short-circuited in the kernel so they are
 almost as fast as local file operations.  On read of a file that doesn't
 have a container file, there is a pause while it's faulted in, and on
 close of a file that was opened for writing a store operation begins.

 Were Coda to start over now, it should use FUSE, and FUSE would be
 extended to have fast container file redirects.   I would then argue that
 the caching FUSE module is generic, and can serve both a Coda backend as
 well as a tahoe back end, or at least could be written so that most code
 is shared.

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/935#comment:8>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage

--- End Message ---

Attachment: pgpYA0LTKvQYA.pgp
Description: PGP signature

Reply via email to