[tahoe-dev] [tahoe-lafs] #607: DIR2:IMM
tahoe-lafs
trac at allmydata.org
Fri Oct 30 16:58:58 PDT 2009
#607: DIR2:IMM
---------------------------+------------------------------------------------
Reporter: zooko | Owner: warner
Type: defect | Status: new
Priority: major | Milestone: undecided
Component: code-dirnodes | Version: 1.2.0
Keywords: newcaps | Launchpad_bug:
---------------------------+------------------------------------------------
Comment(by warner):
I'm about 80% done with immutable directories. The current work is to add
{{{URI:DIR2-CHK:}}} and {{{URI:DIR2-LIT:}}} to the set recognized by
{{{uri.py}}}. (I'm planning to use CHK because the rest of the arguments
are exactly the same as {{{URI:CHK:/URI:LIT:}}}). An ideal cap format
would make the wrapping more explicit, like
{{{tahoe://grid-4/dir/imm/READCAP}}} and {{{tahoe://grid-4/imm/READCAP}}}.
The next few steps are:
* modify nodemaker.py to recognize the new caps and create immutable
Filenodes for them and then wrap them in Directorynodes (this handles the
read side)
* add {{{nodemaker.create_immutable_directory(children)}}} to pack the
children, perform an immutable upload, then transform the filecap into a
dircap. (this handles the write side)
* tests for those
* new webapi (probably {{{POST /uri?t=mkdir-immutable}}}) that takes a
JSON dict in the children= form portion: docs, tests, then implementation
* done!
Along the way, I plan to change "tahoe backup" to use t=mkdir-with-
children (which will speed things up a lot, but still create readcaps-to-
mutable-directories). Then, once this ticket is closed, I'll change it
again to use t=mkdir-immutable.
Incidentally, yeah, I think that a form of "cp -r" that creates an
immutable deep copy of some dirnode would be a great idea. Maybe "cp -r
--immutable" ? Likewise, it might be useful to have "cp -r --mutable",
which explicitly creates mutable copies of everything being copied (at
least of the dirnodes). The default behavior of "cp -r" should be to re-
use immutable objects.
--
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/607#comment:8>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid
More information about the tahoe-dev
mailing list