On 31/03/12 21:15, Zooko Wilcox-O'Hearn wrote: > • On the topic of issue 1., above, I suggested an alternative way to > prevent cycling endlessly through the local filesystem. The primary > proposal -- already partially implemented by amiller -- is to have a > limit on how many symlinks you'll cross over before you stop. If you > stop, you should probably print out a complete listing of how you got > to where you are, and which steps were traversing symlinks, so that > the user can figure out if this was really a cycle and if so how they > want to break the cycle. > > My alternative proposal is that for each directory that you visit, > learn its device id and inode number and use those as a unique > identifier for this directory in the context of this run of "tahoe > backup", and if you encounter a directory for the second time then use > the same within-tahoe-lafs-directory that you created for it the first > time. > > That's way better! It is almost elegant. But as Brian then pointed > out, it can't work. Because all directories (except for the root dir) > that are produced by a "tahoe backup" are immutable. You can't have a > cycle of immutable directories, because it is impossible to get a link > to an immutable directory before providing the initial and final > contents of it.
What can't work is constructing a cycle of Tahoe links matching the cycle of symlinks. But if all you want to do is detect cycles in order to, say, output a warning and skip the link that completes the cycle, there's no problem. > • This led me to off-handedly comment that such a thing would be > possible with Petrification a.k.a. revocation of write authority > (#954) which inspired David-Sarah to announce that they were going to > implement #954 during Hack Fest. That would be very ambitious, but > David-Sarah often says that they will do ambitious things and then > does them. I remember that the "Drop-Upload" feature was implemented > in a single afternoon by David-Sarah at The Second Tahoe-LAFS Summit. In this particular case I said I might do this ambitious thing, and then realized there are a bunch of complicated design issues that I wasn't going to have time to work through. -- David-Sarah Hopwood ⚥
signature.asc
Description: OpenPGP digital signature
_______________________________________________ tahoe-dev mailing list [email protected] http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
