SDMF: update filenode with correct k/N after Retrieve. Fixes #1510.
authorBrian Warner <warner@lothar.com>
Sat, 27 Aug 2011 22:50:31 +0000 (15:50 -0700)
committerBrian Warner <warner@lothar.com>
Sat, 27 Aug 2011 22:50:31 +0000 (15:50 -0700)
commit370e6f271e40945bfc3061c014f1c873b092bb50
tree01e9c0f603ccb9f66d1561e49e4109f192c98975
parentb8c90d24fc589e296f2103982405a3587afcc706
SDMF: update filenode with correct k/N after Retrieve. Fixes #1510.

Without this, we get a regression when modifying a mutable file that was
created with more shares (larger N) than our current tahoe.cfg . The
modification attempt creates new versions of the (0,1,..,newN-1) shares, but
leaves the old versions of the (newN,..,oldN-1) shares alone (and throws a
assertion error in SDMFSlotWriteProxy.finish_publishing in the process).

The mixed versions that result (some shares with e.g. N=10, some with N=20,
such that both versions are recoverable) cause problems for the Publish code,
even before MDMF landed. Might be related to refs #1390 and refs #1042.
src/allmydata/mutable/layout.py
src/allmydata/mutable/retrieve.py
src/allmydata/test/test_mutable.py