Blame


1 be7cbb4e 2005-07-12 devnull .TH VENTI 1
2 be7cbb4e 2005-07-12 devnull .SH NAME
3 be7cbb4e 2005-07-12 devnull read, write, copy \- simple Venti clients
4 be7cbb4e 2005-07-12 devnull .SH SYNOPSIS
5 be7cbb4e 2005-07-12 devnull .B venti/read
6 be7cbb4e 2005-07-12 devnull [
7 be7cbb4e 2005-07-12 devnull .B -h
8 be7cbb4e 2005-07-12 devnull .I host
9 be7cbb4e 2005-07-12 devnull ]
10 be7cbb4e 2005-07-12 devnull [
11 be7cbb4e 2005-07-12 devnull .B -t
12 be7cbb4e 2005-07-12 devnull .I type
13 be7cbb4e 2005-07-12 devnull ]
14 be7cbb4e 2005-07-12 devnull .I score
15 be7cbb4e 2005-07-12 devnull .br
16 be7cbb4e 2005-07-12 devnull .B venti/write
17 be7cbb4e 2005-07-12 devnull [
18 be7cbb4e 2005-07-12 devnull .B -z
19 be7cbb4e 2005-07-12 devnull ]
20 be7cbb4e 2005-07-12 devnull [
21 be7cbb4e 2005-07-12 devnull .B -h
22 be7cbb4e 2005-07-12 devnull .I host
23 be7cbb4e 2005-07-12 devnull ]
24 be7cbb4e 2005-07-12 devnull [
25 be7cbb4e 2005-07-12 devnull .B -t
26 be7cbb4e 2005-07-12 devnull .I type
27 be7cbb4e 2005-07-12 devnull ]
28 be7cbb4e 2005-07-12 devnull .br
29 be7cbb4e 2005-07-12 devnull .B venti/copy
30 be7cbb4e 2005-07-12 devnull [
31 da0a205e 2009-08-21 extrudeda .B -fimrVv
32 be7cbb4e 2005-07-12 devnull ]
33 be7cbb4e 2005-07-12 devnull [
34 be7cbb4e 2005-07-12 devnull .B -t
35 be7cbb4e 2005-07-12 devnull .I type
36 be7cbb4e 2005-07-12 devnull ]
37 be7cbb4e 2005-07-12 devnull .I srchost
38 be7cbb4e 2005-07-12 devnull .I dsthost
39 be7cbb4e 2005-07-12 devnull .I score
40 be7cbb4e 2005-07-12 devnull .SH DESCRIPTION
41 be7cbb4e 2005-07-12 devnull Venti is a SHA1-addressed block storage server.
42 be7cbb4e 2005-07-12 devnull See
43 d32deab1 2020-08-16 rsc .MR venti (7)
44 be7cbb4e 2005-07-12 devnull for a full introduction.
45 be7cbb4e 2005-07-12 devnull .PP
46 be7cbb4e 2005-07-12 devnull .I Read
47 be7cbb4e 2005-07-12 devnull reads a block with the given
48 be7cbb4e 2005-07-12 devnull .I score
49 be7cbb4e 2005-07-12 devnull and numeric
50 be7cbb4e 2005-07-12 devnull .I type
51 be7cbb4e 2005-07-12 devnull from the server
52 be7cbb4e 2005-07-12 devnull .I host
53 be7cbb4e 2005-07-12 devnull and prints the block to standard output.
54 be7cbb4e 2005-07-12 devnull If the
55 be7cbb4e 2005-07-12 devnull .B -h
56 be7cbb4e 2005-07-12 devnull option is omitted,
57 be7cbb4e 2005-07-12 devnull .I read
58 be7cbb4e 2005-07-12 devnull consults the environment variable
59 be7cbb4e 2005-07-12 devnull .B $venti
60 be7cbb4e 2005-07-12 devnull for the name of the Venti server.
61 be7cbb4e 2005-07-12 devnull If the
62 be7cbb4e 2005-07-12 devnull .B -t
63 be7cbb4e 2005-07-12 devnull option is omitted,
64 be7cbb4e 2005-07-12 devnull .I read
65 be7cbb4e 2005-07-12 devnull will try each type, one at a time, until it finds
66 be7cbb4e 2005-07-12 devnull one that works.
67 be7cbb4e 2005-07-12 devnull It prints the corresponding
68 be7cbb4e 2005-07-12 devnull .B read
69 be7cbb4e 2005-07-12 devnull .B -t
70 be7cbb4e 2005-07-12 devnull command to standard error
71 be7cbb4e 2005-07-12 devnull to indicate the type of the block.
72 be7cbb4e 2005-07-12 devnull .PP
73 be7cbb4e 2005-07-12 devnull .I Write
74 be7cbb4e 2005-07-12 devnull writes at most 56 kilobytes of data from standard input
75 be7cbb4e 2005-07-12 devnull to the server
76 be7cbb4e 2005-07-12 devnull .I host
77 be7cbb4e 2005-07-12 devnull and prints the resulting score to standard output.
78 be7cbb4e 2005-07-12 devnull If the
79 be7cbb4e 2005-07-12 devnull .B -t
80 be7cbb4e 2005-07-12 devnull option is omitted,
81 be7cbb4e 2005-07-12 devnull .I write
82 be7cbb4e 2005-07-12 devnull uses type 0,
83 be7cbb4e 2005-07-12 devnull denoting a data block.
84 be7cbb4e 2005-07-12 devnull If the
85 be7cbb4e 2005-07-12 devnull .B -z
86 be7cbb4e 2005-07-12 devnull option is given,
87 be7cbb4e 2005-07-12 devnull .I write
88 3aec33fe 2005-07-18 devnull zero truncates the block before writing it to the server.
89 be7cbb4e 2005-07-12 devnull .PP
90 be7cbb4e 2005-07-12 devnull .I Copy
91 be7cbb4e 2005-07-12 devnull expects
92 be7cbb4e 2005-07-12 devnull .I score
93 be7cbb4e 2005-07-12 devnull to be the score of a
94 be7cbb4e 2005-07-12 devnull .B VtRoot
95 be7cbb4e 2005-07-12 devnull block.
96 be7cbb4e 2005-07-12 devnull It copies the entire tree of blocks reachable from
97 be7cbb4e 2005-07-12 devnull the root block from the server
98 be7cbb4e 2005-07-12 devnull .I srchost
99 be7cbb4e 2005-07-12 devnull to the server
100 be7cbb4e 2005-07-12 devnull .IR dsthost .
101 be7cbb4e 2005-07-12 devnull .PP
102 da0a205e 2009-08-21 extrudeda Venti's blocks are arranged in a directed acyclic graph (see venti(6));
103 da0a205e 2009-08-21 extrudeda there may be multiple paths from a root score to an
104 da0a205e 2009-08-21 extrudeda interior block (for example, if the same file contents are stored
105 da0a205e 2009-08-21 extrudeda under multiple names in an archive).
106 da0a205e 2009-08-21 extrudeda .I Copy
107 da0a205e 2009-08-21 extrudeda runs more efficiently if it does not copy blocks
108 da0a205e 2009-08-21 extrudeda (and all their children) multiple times.
109 be7cbb4e 2005-07-12 devnull The
110 be7cbb4e 2005-07-12 devnull .B -f
111 be7cbb4e 2005-07-12 devnull option causes
112 be7cbb4e 2005-07-12 devnull .I copy
113 da0a205e 2009-08-21 extrudeda to assume that if a block already exists on the destination
114 da0a205e 2009-08-21 extrudeda Venti server, all its children also exist and need not be considered.
115 da0a205e 2009-08-21 extrudeda The
116 da0a205e 2009-08-21 extrudeda .B -m
117 da0a205e 2009-08-21 extrudeda option causes
118 da0a205e 2009-08-21 extrudeda .I copy
119 da0a205e 2009-08-21 extrudeda to maintain an in-memory list of blocks it has copied
120 da0a205e 2009-08-21 extrudeda and avoid considering the same block multiple times.
121 da0a205e 2009-08-21 extrudeda The
122 da0a205e 2009-08-21 extrudeda .B -f
123 da0a205e 2009-08-21 extrudeda option is only useful if the destination Venti server is
124 da0a205e 2009-08-21 extrudeda known not to have lost any blocks due to disk corruption
125 da0a205e 2009-08-21 extrudeda or other failures.
126 da0a205e 2009-08-21 extrudeda The
127 da0a205e 2009-08-21 extrudeda .B -m
128 da0a205e 2009-08-21 extrudeda option is only useful if enough memory is available to
129 da0a205e 2009-08-21 extrudeda hold the block list, which typically requires about 1%
130 da0a205e 2009-08-21 extrudeda of the total number of bytes being copied.
131 be7cbb4e 2005-07-12 devnull .PP
132 be7cbb4e 2005-07-12 devnull The
133 be7cbb4e 2005-07-12 devnull .B -i
134 be7cbb4e 2005-07-12 devnull and
135 be7cbb4e 2005-07-12 devnull .B -r
136 a7f1ab29 2011-05-10 rsc options control
137 be7cbb4e 2005-07-12 devnull .IR copy 's
138 3aec33fe 2005-07-18 devnull reaction to errors reading
139 3aec33fe 2005-07-18 devnull from
140 3aec33fe 2005-07-18 devnull .IR srchost .
141 be7cbb4e 2005-07-12 devnull .I Copy
142 be7cbb4e 2005-07-12 devnull always prints information to standard error
143 be7cbb4e 2005-07-12 devnull about each read error.
144 be7cbb4e 2005-07-12 devnull By default,
145 be7cbb4e 2005-07-12 devnull .I copy
146 3aec33fe 2005-07-18 devnull exits after printing the first error.
147 be7cbb4e 2005-07-12 devnull If the
148 be7cbb4e 2005-07-12 devnull .B -i
149 be7cbb4e 2005-07-12 devnull option is given, read errors are ignored.
150 be7cbb4e 2005-07-12 devnull This is dangerous behavior because it breaks the
151 be7cbb4e 2005-07-12 devnull assumption made by `fast' mode.
152 be7cbb4e 2005-07-12 devnull If the
153 be7cbb4e 2005-07-12 devnull .B -r
154 be7cbb4e 2005-07-12 devnull option is given,
155 be7cbb4e 2005-07-12 devnull .I copy
156 be7cbb4e 2005-07-12 devnull replaces pointers to unreadable blocks with
157 be7cbb4e 2005-07-12 devnull pointers to the zero block.
158 be7cbb4e 2005-07-12 devnull It writes the new root score to standard output.
159 da0a205e 2009-08-21 extrudeda The
160 da0a205e 2009-08-21 extrudeda .B -v
161 da0a205e 2009-08-21 extrudeda option prints scores as it copies them, total writes, and other
162 da0a205e 2009-08-21 extrudeda debugging information.
163 da0a205e 2009-08-21 extrudeda The
164 da0a205e 2009-08-21 extrudeda .B -V
165 da0a205e 2009-08-21 extrudeda option prints debugging information about the Venti protocol
166 da0a205e 2009-08-21 extrudeda messages send/received.
167 be7cbb4e 2005-07-12 devnull .SH SOURCE
168 e5e159fd 2005-07-18 devnull .B \*9/src/cmd/venti
169 be7cbb4e 2005-07-12 devnull .SH SEE ALSO
170 d32deab1 2020-08-16 rsc .MR vac (1) ,
171 d32deab1 2020-08-16 rsc .MR venti (3) ,
172 d32deab1 2020-08-16 rsc .MR vacfs (4) ,
173 d32deab1 2020-08-16 rsc .MR venti (7) ,
174 d32deab1 2020-08-16 rsc .MR vbackup (8) ,
175 d32deab1 2020-08-16 rsc .MR venti (8) ,
176 d32deab1 2020-08-16 rsc .MR venti-fmt (8)
177 be7cbb4e 2005-07-12 devnull .SH BUGS
178 be7cbb4e 2005-07-12 devnull There should be programs to read and write
179 3aec33fe 2005-07-18 devnull venti files and directories.