groff 1.23.0 added .MR to its -man macro package. The NEWS file states
that the inclusion of the macro "was prompted by its introduction to
Plan 9 from User Space's troff in August 2020." From d32deab it seems
that the name for Plan 9 from User Space's implementation was suggested
by groff maintainer G. Brandon Robinson.
Not sure if the intention was to make these definitions compatible, but
it would be nice if they were.
Currently, Plan 9 from User Space's .MR expects its second argument to
be parenthesized. groff's .MR does not. This results in extra
parentheses appearing in manual references when viewing Plan 9 from User
Space's manual pages on a system using groff.
180 lines
3.2 KiB
Groff
180 lines
3.2 KiB
Groff
.TH VENTI 1
|
|
.SH NAME
|
|
read, write, copy \- simple Venti clients
|
|
.SH SYNOPSIS
|
|
.B venti/read
|
|
[
|
|
.B -h
|
|
.I host
|
|
]
|
|
[
|
|
.B -t
|
|
.I type
|
|
]
|
|
.I score
|
|
.br
|
|
.B venti/write
|
|
[
|
|
.B -z
|
|
]
|
|
[
|
|
.B -h
|
|
.I host
|
|
]
|
|
[
|
|
.B -t
|
|
.I type
|
|
]
|
|
.br
|
|
.B venti/copy
|
|
[
|
|
.B -fimrVv
|
|
]
|
|
[
|
|
.B -t
|
|
.I type
|
|
]
|
|
.I srchost
|
|
.I dsthost
|
|
.I score
|
|
.SH DESCRIPTION
|
|
Venti is a SHA1-addressed block storage server.
|
|
See
|
|
.MR venti 7
|
|
for a full introduction.
|
|
.PP
|
|
.I Read
|
|
reads a block with the given
|
|
.I score
|
|
and numeric
|
|
.I type
|
|
from the server
|
|
.I host
|
|
and prints the block to standard output.
|
|
If the
|
|
.B -h
|
|
option is omitted,
|
|
.I read
|
|
consults the environment variable
|
|
.B $venti
|
|
for the name of the Venti server.
|
|
If the
|
|
.B -t
|
|
option is omitted,
|
|
.I read
|
|
will try each type, one at a time, until it finds
|
|
one that works.
|
|
It prints the corresponding
|
|
.B read
|
|
.B -t
|
|
command to standard error
|
|
to indicate the type of the block.
|
|
.PP
|
|
.I Write
|
|
writes at most 56 kilobytes of data from standard input
|
|
to the server
|
|
.I host
|
|
and prints the resulting score to standard output.
|
|
If the
|
|
.B -t
|
|
option is omitted,
|
|
.I write
|
|
uses type 0,
|
|
denoting a data block.
|
|
If the
|
|
.B -z
|
|
option is given,
|
|
.I write
|
|
zero truncates the block before writing it to the server.
|
|
.PP
|
|
.I Copy
|
|
expects
|
|
.I score
|
|
to be the score of a
|
|
.B VtRoot
|
|
block.
|
|
It copies the entire tree of blocks reachable from
|
|
the root block from the server
|
|
.I srchost
|
|
to the server
|
|
.IR dsthost .
|
|
.PP
|
|
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).
|
|
.I Copy
|
|
runs more efficiently if it does not copy blocks
|
|
(and all their children) multiple times.
|
|
The
|
|
.B -f
|
|
option causes
|
|
.I 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
|
|
.B -m
|
|
option causes
|
|
.I copy
|
|
to maintain an in-memory list of blocks it has copied
|
|
and avoid considering the same block multiple times.
|
|
The
|
|
.B -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
|
|
.B -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.
|
|
.PP
|
|
The
|
|
.B -i
|
|
and
|
|
.B -r
|
|
options control
|
|
.IR copy 's
|
|
reaction to errors reading
|
|
from
|
|
.IR srchost .
|
|
.I Copy
|
|
always prints information to standard error
|
|
about each read error.
|
|
By default,
|
|
.I copy
|
|
exits after printing the first error.
|
|
If the
|
|
.B -i
|
|
option is given, read errors are ignored.
|
|
This is dangerous behavior because it breaks the
|
|
assumption made by `fast' mode.
|
|
If the
|
|
.B -r
|
|
option is given,
|
|
.I copy
|
|
replaces pointers to unreadable blocks with
|
|
pointers to the zero block.
|
|
It writes the new root score to standard output.
|
|
The
|
|
.B -v
|
|
option prints scores as it copies them, total writes, and other
|
|
debugging information.
|
|
The
|
|
.B -V
|
|
option prints debugging information about the Venti protocol
|
|
messages send/received.
|
|
.SH SOURCE
|
|
.B \*9/src/cmd/venti
|
|
.SH SEE ALSO
|
|
.MR vac 1 ,
|
|
.MR venti 3 ,
|
|
.MR vacfs 4 ,
|
|
.MR venti 7 ,
|
|
.MR vbackup 8 ,
|
|
.MR venti 8 ,
|
|
.MR venti-fmt 8
|
|
.SH BUGS
|
|
There should be programs to read and write
|
|
venti files and directories.
|