From 0f1d674d76490f71c02116bcfdc0620cd758c975 Mon Sep 17 00:00:00 2001 From: Brian Warner <warner@lothar.com> Date: Sun, 28 Aug 2011 00:41:03 -0700 Subject: [PATCH] MutableFileNode.set_downloader_hints: never depend upon order of dict.values() The old code was calculating the "extension parameters" (a list) from the downloader hints (a dictionary) with hints.values(), which is not stable, and would result in corrupted filecaps (with the 'k' and 'segsize' hints occasionally swapped). The new code always uses [k,segsize]. --- src/allmydata/mutable/filenode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/allmydata/mutable/filenode.py b/src/allmydata/mutable/filenode.py index 59438b87..02f99b64 100644 --- a/src/allmydata/mutable/filenode.py +++ b/src/allmydata/mutable/filenode.py @@ -701,7 +701,7 @@ class MutableFileNode: def set_downloader_hints(self, hints): self._downloader_hints = hints - extensions = hints.values() + extensions = [ hints["k"], hints["segsize"] ] self._uri.set_extension_params(extensions) -- 2.45.2