[tahoe-dev] Hack Fest Day One report

Zooko Wilcox-O'Hearn zooko at zooko.com
Tue May 15 17:09:09 UTC 2012


On Sat, Mar 31, 2012 at 7:57 PM, David-Sarah Hopwood
<david-sarah at jacaranda.org> wrote:
> 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.

I had just thought of this! I just came back to this thread in order
to make this point, and in re-reading the thread, I see that
David-Sarah has already stated it as plain as day. ☺

I'll update ticket #641.

Regards,

Zooko

https://tahoe-lafs.org/trac/tahoe-lafs/ticket/641# tahoe backup should
be able to backup symlinks


More information about the tahoe-dev mailing list