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