[tahoe-dev] [tahoe-lafs] #393: mutable: implement MDMF

tahoe-lafs trac at tahoe-lafs.org
Tue Jul 27 00:01:51 UTC 2010

#393: mutable: implement MDMF
     Reporter:  warner        |       Owner:  kevan                                                      
         Type:  enhancement   |      Status:  assigned                                                   
     Priority:  major         |   Milestone:  1.8β                                                       
    Component:  code-mutable  |     Version:  1.0.0                                                      
   Resolution:                |    Keywords:  newcaps performance random-access privacy gsoc mdmf mutable
Launchpad Bug:                |  

Comment (by kevan):

 No patch today, but I've been working out how a partial file update will

 The mutable filenode code, if we use a (data, offset) change
 representation like the one I suggest above, will be responsible for
 mapping the new data into segments, and then replacing those segments. For
 segments which can be replaced in whole, this isn't difficult -- we just
 upload new segments in place of old segments, and then update the
 integrity checks to match the new data. But it is likely that the new data
 will not start or end on precise segment boundaries. In these cases, we
 will have to fetch two segments of data in order to do an update, so we
 can pad the existing data appropriately. In addition, we'll need parts of
 the block hash trees for the shares that we're updating, so that they can
 be regenerated to reflect the new content. At the moment, I'm thinking
 about fetching this information (boundary segments + block hash tree
 information) during the server map update step, then presenting it to the
 uploader. This yields a nice separation between parts of the code that
 upload files and parts of the code that download files. I haven't quite
 worked out all the details yet, but I plan to start working on it tomorrow
 and see what more ideas come from that.

 I'm hoping to have the low level update functionality done by the end of
 this week, along with the restoration of the single-write uploads that we
 have with SDMF. After that, I can work out how we tie all of that into the
 WebAPI so client code can use it.

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

More information about the tahoe-dev mailing list