do not cache and re-use imm filenodes in nodemaker

fixes #1679
This commit is contained in:
Zooko O'Whielacronx 2013-02-07 16:35:43 +00:00
parent 8df3a07625
commit 45c64edc76
2 changed files with 5 additions and 3 deletions

View File

@ -86,6 +86,8 @@ class CiphertextFileNode:
def raise_error(self):
pass
def is_mutable(self):
return False
def check_and_repair(self, monitor, verify=False, add_lease=False):
c = Checker(verifycap=self._verifycap,

View File

@ -72,12 +72,12 @@ class NodeMaker:
cap = uri.from_string(bigcap, deep_immutable=deep_immutable,
name=name)
node = self._create_from_single_cap(cap)
if node:
self._node_cache[memokey] = node # note: WeakValueDictionary
else:
if node is None:
# don't cache UnknownNode
node = UnknownNode(writecap, readcap,
deep_immutable=deep_immutable, name=name)
elif node.is_mutable():
self._node_cache[memokey] = node # note: WeakValueDictionary
if self.blacklist:
si = node.get_storage_index()