Commit Graph

24 Commits

Author SHA1 Message Date
Brian Warner
7589a8ee82 storage: we must truncate short segments. Now most tests pass (except uri_extension) 2007-07-13 16:38:25 -07:00
Brian Warner
1f8e407d9c more #85 work, system test still fails 2007-07-13 15:09:01 -07:00
Brian Warner
cd8648d39b storage: use one file per share instead of 7 (#85). work-in-progress, tests still fail 2007-07-13 14:04:49 -07:00
Brian Warner
dce1dc2730 storage: wrap buckets in a local proxy
This will make it easier to change RIBucketWriter in the future to reduce the wire
protocol to just open/write(offset,data)/close, and do all the structuring on the
client end. The ultimate goal is to store each bucket in a single file, to reduce
the considerable filesystem-quantization/inode overhead on the storage servers.
2007-07-08 23:27:46 -07:00
Brian Warner
a1c97aa0be storageserver: include metadata in the sizelimit, at least after the bucket has been closed 2007-07-03 17:38:49 -07:00
Brian Warner
c80ea7d693 storageserver: implement size limits. No code to enable them yet, though 2007-07-03 17:08:02 -07:00
Brian Warner
c9ef291c02 rename thingA to 'uri extension' 2007-06-08 15:59:16 -07:00
Brian Warner
e04ff3adac fetch plaintext/crypttext merkle trees during download, but don't check the segments against them yet 2007-06-07 00:15:41 -07:00
Brian Warner
5cbdc240e2 encode: add plaintext/crypttext merkle trees to the shares, and the thingA block. Still needs tests and download-side verification. 2007-06-06 19:40:20 -07:00
Brian Warner
3dfd26970b move validation data to thingA, URI has storage_index plus thingA hash
This (compatibility-breaking) change moves much of the validation data and
encoding parameters out of the URI and into the so-called "thingA" block
(which will get a better name as soon as we find one we're comfortable with).
The URI retains the "storage_index" (a generalized term for the role that
we're currently using the verifierid for, the unique index for each file
that gets used by storage servers to decide which shares to return), the
decryption key, the needed_shares/total_shares counts (since they affect
peer selection), and the hash of the thingA block.

This shortens the URI and lets us add more kinds of validation data without
growing the URI (like plaintext merkle trees, to enable strong incremental
plaintext validation), at the cost of maybe 150 bytes of alacrity. Each
storage server holds an identical copy of the thingA block.

This is an incompatible change: new messages have been added to the storage
server interface, and the URI format has changed drastically.
2007-06-01 18:48:01 -07:00
Brian Warner
0a53fb00b2 storageserver.py: remove unused import 2007-04-18 10:43:33 -07:00
Brian Warner
008e418523 storageserver: assert that blocks are written in-order, clean up tests a bit 2007-04-17 20:21:05 -07:00
Zooko O'Whielacronx
c2dfcb1f01 don't clobber existing storefile every put block 2007-04-17 20:14:44 -07:00
Brian Warner
dbbbc96cbf storageserver: the last segment is not always going to be the same size as the rest, so don't assert such a thing 2007-04-17 13:41:45 -07:00
Zooko O'Whielacronx
5b3e923093 storageserver: ignore files in verifierdir whose filenames aren't of the right form for shares 2007-04-18 07:41:56 -07:00
Brian Warner
d8b71b85f8 download: retrieve share hashes when downloading. We don't really do much validation with them yet, though. 2007-04-06 22:51:19 -07:00
Brian Warner
92ba8dc8d2 allmydata.interfaces: remove some of the placeholders now that we require foolscap-0.1.2 2007-04-04 15:59:36 -07:00
Zooko O'Whielacronx
d5be3e6086 fix BucketWriter to not create a finalhome until it is complete, and to clean up the empty $VERIFIERID dir under incoming/ when it moves the last share out of it 2007-03-30 18:01:56 -07:00
Zooko O'Whielacronx
1a20e5d01b fix storage server to handle the case that it has no directory at all when someone asks for buckets 2007-03-30 17:12:07 -07:00
Zooko O'Whielacronx
826ce43be7 fix bug in storage-server: yes, "0" is a number, Mr. storage server 2007-03-30 17:07:04 -07:00
Brian Warner
7cd9ef3bbf finish making the new encoder/decoder/upload/download work 2007-03-30 16:50:50 -07:00
Zooko O'Whielacronx
f4a718c5b6 finish storage server and write new download 2007-03-30 10:52:19 -07:00
Zooko O'Whielacronx
17299fc96e new upload and storage server 2007-03-29 20:19:52 -07:00
Brian Warner
3490378551 move all packages into src/, fix allmydata.Crypto build. Now you must perform a 'setup.py build' before using anything, and you must add the build directory (build/lib.linux-i686-2.4) to your PYTHONPATH before doing anything 2006-12-14 03:39:50 -07:00