plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

venti.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.