venti 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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 -fir
  32. ]
  33. [
  34. .B -t
  35. .I type
  36. ]
  37. .I srchost
  38. .I dsthost
  39. .I score
  40. [
  41. .I type
  42. ]
  43. .SH DESCRIPTION
  44. Venti is a SHA1-addressed block storage server.
  45. See
  46. .IR venti (6)
  47. for a full introduction.
  48. .PP
  49. .I Read
  50. reads a block with the given
  51. .I score
  52. and numeric
  53. .I type
  54. from the server
  55. .I host
  56. and prints the block to standard output.
  57. If the
  58. .B -h
  59. option is omitted,
  60. .I read
  61. consults the environment variable
  62. .B $venti
  63. for the name of the Venti server.
  64. If the
  65. .B -t
  66. option is omitted,
  67. .I read
  68. will try each type, one at a time, until it finds
  69. one that works.
  70. It prints the corresponding
  71. .B read
  72. .B -t
  73. command to standard error
  74. to indicate the type of the block.
  75. .PP
  76. .I Write
  77. writes at most 56 kilobytes of data from standard input
  78. to the server
  79. .I host
  80. and prints the resulting score to standard output.
  81. If the
  82. .B -t
  83. option is omitted,
  84. .I write
  85. uses type 0,
  86. denoting a data block.
  87. If the
  88. .B -z
  89. option is given,
  90. .I write
  91. zero truncates the block before writing it to the server.
  92. .PP
  93. .I Copy
  94. expects
  95. .I score
  96. to be the score of a
  97. .B VtRoot
  98. block.
  99. It copies the entire tree of blocks reachable from
  100. the root block from the server
  101. .I srchost
  102. to the server
  103. .IR dsthost .
  104. .PP
  105. The
  106. .B -f
  107. option causes
  108. .I copy
  109. to run in `fast' mode,
  110. assuming that if a block already exists on the
  111. destination Venti server, all its children also
  112. exist and need not be checked.
  113. .PP
  114. The
  115. .B -i
  116. and
  117. .B -r
  118. options control
  119. .IR copy 's
  120. reaction to errors reading
  121. from
  122. .IR srchost .
  123. .I Copy
  124. always prints information to standard error
  125. about each read error.
  126. By default,
  127. .I copy
  128. exits after printing the first error.
  129. If the
  130. .B -i
  131. option is given, read errors are ignored.
  132. This is dangerous behavior because it breaks the
  133. assumption made by `fast' mode.
  134. If the
  135. .B -r
  136. option is given,
  137. .I copy
  138. replaces pointers to unreadable blocks with
  139. pointers to the zero block.
  140. It writes the new root score to standard output.
  141. .SH SOURCE
  142. .B /sys/src/cmd/venti
  143. .br
  144. .B /sys/src/cmd/oventi/copy.c
  145. .SH SEE ALSO
  146. .IR vac (1),
  147. .IR venti (2),
  148. .IR vacfs (4),
  149. .IR venti (6),
  150. .IR venti (8),
  151. .IR venti-backup (8),
  152. .IR venti-fmt (8)
  153. .SH BUGS
  154. There should be programs to read and write
  155. venti files and directories.