[tahoe-dev] notes about DIR2:CHK deep immutability (maybe Tahoe-LAFS v1.6)

Zooko Wilcox-O'Hearn zooko at zooko.com
Wed Oct 21 05:27:21 UTC 2009


Brian has been working on #607.  Very cool!  #607 plus #778 plus  
other smaller tickets would justify putting out a new release and  
calling it "Tahoe-LAFS v1.6".

When you create a DIR2:IMM, giving it a set of (childname, childcap)  
tuples, it should raise an exception if any childcap is not  
immutable.  The immutable childcaps are "CHK" (perhaps renamed to  
"IMM"), LIT, and DIR2:CHK (or "DIR2:IMM").

When you unpack a DIR2:IMM, if you find any non-immutable children in  
there (i.e. because someone else's Tahoe-LAFS gateway is altered or  
buggy so that it did not raise the exception described above), then  
you treat that child as non-existent and log a warning.

There could optionally be a command to deep-walk a directory graph  
and produce an immutable snapshot of everything.  This could be an  
expensive operation depending on how deep the graph is, but large  
files are typically already immutable, so snapshotting them is free.   
Anyway, if you want to put something into an immutable directory and  
you get rejected because the thing isn't immutable, then this command  
would be useful.



http://allmydata.org/trac/tahoe/ticket/607 # DIR2:IMM
http://allmydata.org/trac/tahoe/ticket/778 # "shares of happiness" is  
the wrong measure; "servers of happiness" is better

More information about the tahoe-dev mailing list