]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
dirnode.build_manifest(): tolerate cycles in the directory graph
authorBrian Warner <warner@lothar.com>
Sat, 21 Jul 2007 22:40:13 +0000 (15:40 -0700)
committerBrian Warner <warner@lothar.com>
Sat, 21 Jul 2007 22:40:13 +0000 (15:40 -0700)
src/allmydata/dirnode.py

index 18b7999bf0dd0457859610dd772e197936119f7b..cbc3596457d82706d0f715185d389f8040d22b0d 100644 (file)
@@ -354,7 +354,7 @@ class ImmutableDirectoryNode:
             dl = []
             for name, child in res.iteritems():
                 manifest.add(child.get_refresh_capability())
-                if IDirectoryNode.providedBy(child):
+                if IDirectoryNode.providedBy(child) and child not in manifest:
                     dl.append(self._build_manifest_from_node(child, manifest))
             if dl:
                 return defer.DeferredList(dl)