read, write, copy – simple Venti clients|
venti/read [ −h host ] [ −t type ] score|
venti/write [ −z ] [ −h host ] [ −t type ]
venti/copy [ −fimrVv ] [ −t type ] srchost dsthost score
Venti is a SHA1-addressed block storage server. See venti(7) for
a full introduction.
Read reads a block with the given score and numeric type from
the server host and prints the block to standard output. If the
−h option is omitted, read consults the environment variable $venti
for the name of the Venti server. If the −t option is omitted,
read will try each type, one at a time, until it finds one that
works. It prints the corresponding read
−t command to standard error to indicate the type of the block.
Write writes at most 56 kilobytes of data from standard input
to the server host and prints the resulting score to standard
output. If the −t option is omitted, write uses type 0, denoting
a data block. If the −z option is given, write zero truncates
the block before writing it to the server.
Copy expects score to be the score of a VtRoot block. It copies
the entire tree of blocks reachable from the root block from the
server srchost to the server dsthost.
Venti’s blocks are arranged in a directed acyclic graph (see venti(6));
there may be multiple paths from a root score to an interior block
(for example, if the same file contents are stored under multiple
names in an archive). Copy runs more efficiently if it does not
copy blocks (and all their children) multiple times. The −f option
causes copy to assume
that if a block already exists on the destination Venti server,
all its children also exist and need not be considered. The −m
option causes copy to maintain an in-memory list of blocks it
has copied and avoid considering the same block multiple times.
The −f option is only useful if the destination Venti server is
known not to have lost any blocks due to
disk corruption or other failures. The −m option is only useful
if enough memory is available to hold the block list, which typically
requires about 1% of the total number of bytes being copied.
The −i and −r options control copy’s reaction to errors reading
from srchost. Copy always prints information to standard error
about each read error. By default, copy exits after printing the
first error. If the −i option is given, read errors are ignored.
This is dangerous behavior because it breaks the assumption made
by ‘fast’ mode. If the −r option is
given, copy replaces pointers to unreadable blocks with pointers
to the zero block. It writes the new root score to standard output.
The −v option prints scores as it copies them, total writes, and
other debugging information. The −V option prints debugging information
about the Venti protocol messages send/received.|
There should be programs to read and write venti files and directories.|