X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=format.txt;h=1e4ce24416fcc9a64cfba58253ec95cfce7f97cf;hb=def20364a3596d7b1fa4a07f3d3ee056cfff2d1e;hp=f7ce16660bd4e758cb39772880f3039f3120bdaf;hpb=c93e446e6d0863dc8105884f38f7e33025dd7406;p=cumulus.git diff --git a/format.txt b/format.txt index f7ce166..1e4ce24 100644 --- a/format.txt +++ b/format.txt @@ -25,3 +25,26 @@ other objects; a snapshot consists of a tree object which in turn refers to other objects containing file data. A new snapshot may be created which refers to some of the old objects with file data, if those files have not changed. + +======================================================================== + +Object naming: + - Each segment is assigned a unique 128-bit identifier (uuid). Each + segment is stored as a separate file whose name is based on its + uuid. + - Objects within a segment are numbered, using a 32-bit counter. + +Each segment is structured as a TAR file (optionally filtered through a +compressor such as gzip/bzip2, or encrypted). Objects are stored as +individual files. + +File attributes: Metadata for each file is stored in a dictionary. +Dictionary keys include: + type: uint8_t ('p', 's', 'c', 'b', 'l', 'd', '-') + mode: uint16_t + user: uint32_t + group: uint32_t + size: int64_t + atime: int64_t + mtime: int64_t + ctime: int64_t