Changeset c10099f in trunk


Ignore:
Timestamp:
2011-09-13T00:28:43Z (14 years ago)
Author:
david-sarah <david-sarah@…>
Branches:
master
Children:
2025e42
Parents:
4c33d85
Message:

interfaces: document that the 'fills-holes-with-zero-bytes' key should be used to detect whether a storage server has that behavior. refs #1528

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/interfaces.py

    r4c33d85 rc10099f  
    215215        vector will be filled with zero bytes. In earlier versions the
    216216        contents of this space was unspecified (and might end up containing
    217         secrets).
     217        secrets). Storage servers with the new zero-filling behavior will
     218        advertise a true value for the 'fills-holes-with-zero-bytes' key
     219        (under 'http://allmydata.org/tahoe/protocols/storage/v1') in their
     220        version information.
    218221
    219222        Each write vector is accompanied by a 'new_length' argument, which
     
    229232        in that case.
    230233
    231         If a storage client can rely on a server being of version v1.8.3 or
    232         later, it can extend the file efficiently by writing a single zero
    233         byte just before the new end-of-file. Otherwise it must explicitly
    234         write zeroes to all bytes between the old and new end-of-file. In any
    235         case it should avoid sending new_length larger than the size of the
    236         data after applying all write vectors.
     234        If a storage client knows that the server supports zero-filling, for
     235        example from the 'fills-holes-with-zero-bytes' key in its version
     236        information, it can extend the file efficiently by writing a single
     237        zero byte just before the new end-of-file. Otherwise it must
     238        explicitly write zeroes to all bytes between the old and new
     239        end-of-file. In any case it should avoid sending new_length larger
     240        than the size of the data after applying all write vectors.
    237241
    238242        The read vector is used to extract data from all known shares,
Note: See TracChangeset for help on using the changeset viewer.