[tahoe-dev] [tahoe-lafs] #833: reject mutable children when *reading* an immutable dirnode

tahoe-lafs trac at allmydata.org
Mon Jan 11 20:35:40 UTC 2010

#833: reject mutable children when *reading* an immutable dirnode
 Reporter:  warner                           |           Owner:  warner  
     Type:  defect                           |          Status:  assigned
 Priority:  critical                         |       Milestone:  1.6.0   
Component:  code-dirnodes                    |         Version:  1.5.0   
 Keywords:  integrity forward-compatibility  |   Launchpad_bug:          

Comment(by zooko):

 If I understand correctly an {{{"mutable"}}} flag is a good idea, and
 should perhaps be quickly added into v1.6 in the interests of forward-
 compatibility, but is orthogonal to this issue of how to exclude mutable
 children from the listing of a mutable directory.

 What if we had a {{{"bad_children"}}} element in the {{{"dirnode"}}} JSON,
 adjacent to the current {{{"children"}}} element:
 [source:docs/frontends/webapi.txt?rev=4112#L509].  This would give the
 programmer all the information about the bad children while making it very
 unlikely that someone would accidentally include bad children in among the
 good children.  :-)

 Oh, and although I really like the name {{{"bad_children"}}}, I guess it
 also includes good children from the future, so we ought to name it
 something like {{{"unrecognized_children"}}}.  How is a programmer to know
 (possibly just out of curiousity) why each child is in that set?  Perhaps
 there is a flag on each child saying either {{{"mutable=true"}}} or
 {{{"known_format=false"}}} or something?

Ticket URL: <http://allmydata.org/trac/tahoe/ticket/833#comment:14>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid

More information about the tahoe-dev mailing list