From: Brian Warner Date: Sat, 21 Jul 2007 22:40:13 +0000 (-0700) Subject: dirnode.build_manifest(): tolerate cycles in the directory graph X-Git-Url: https://git.rkrishnan.org/specifications/index.php?a=commitdiff_plain;h=32fcf0b40520e3d644dee8357f83bb52bbb76c8a;p=tahoe-lafs%2Ftahoe-lafs.git dirnode.build_manifest(): tolerate cycles in the directory graph --- diff --git a/src/allmydata/dirnode.py b/src/allmydata/dirnode.py index 18b7999b..cbc35964 100644 --- a/src/allmydata/dirnode.py +++ b/src/allmydata/dirnode.py @@ -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)