.TH VENTI-FMT 8
.SH NAME
buildindex,
checkarenas,
checkindex,
conf,
fmtarenas,
fmtbloom,
fmtindex,
fmtisect,
syncindex \- prepare and maintain a venti server
.SH SYNOPSIS
.PP
.B venti/fmtarenas
[
.B -4Z
]
[
.B -a
.I arenasize
]
[
.B -b
.I blocksize
]
.I name
.I file
.PP
.B venti/fmtisect
[
.B -1Z
]
[
.B -b
.I blocksize
]
.I name
.I file
.PP
.B venti/fmtbloom
[
.B -n
.I nblocks
|
.B -N
.I nhash
]
[
.B -s
.I size
]
.I file
.PP
.B venti/fmtindex
[
.B -a
]
.I venti.conf
.PP
.B venti/conf
[
.B -w
]
.I partition
[
.I configfile
]
.if t .sp 0.5
.PP
.B venti/buildindex
[
.B -bd
] [
.B -i
.I isect
] ... [
.B -M
.I imemsize
]
.I venti.conf
.PP
.B venti/checkindex
[
.B -f
]
[
.B -B
.I blockcachesize
]
.I venti.conf
.I tmp
.PP
.B venti/checkarenas
[
.B -afv 
]
.I file
.SH DESCRIPTION
These commands aid in the setup, maintenance, and debugging of
venti servers.
See
.IR venti (7)
for an overview of the venti system and
.IR venti (8)
for an overview of the data structures used by the venti server.
.PP
Note that the units for the various sizes in the following
commands can be specified by appending
.LR k ,
.LR m ,
or
.LR g
to indicate kilobytes, megabytes, or gigabytes respectively.
.SS Formatting
To prepare a server for its initial use, the arena partitions and
the index sections must be formatted individually, with
.I fmtarenas
and
.IR fmtisect .
Then the 
collection of index sections must be combined into a venti
index with 
.IR fmtindex .
.PP
.I Fmtarenas
formats the given
.IR file ,
typically a disk partition, into an arena partition.
The arenas in the partition are given names of the form
.IR name%d ,
where
.I %d
is replaced with a sequential number starting at 0.
.PP
Options to 
.I fmtarenas
are:
.TP
.BI -a " arenasize
The arenas are of
.I arenasize
bytes.  The default is
.BR 512M ,
which was selected to provide a balance
between the number of arenas and the ability to copy an arena to external
media such as recordable CDs and tapes.
.TP
.BI -b " blocksize
The size, in bytes, for read and write operations to the file.
The size is recorded in the file, and is used by applications that access the arenas.
The default is
.BR 8k .
.TP
.B -4
Create a `version 4' arena partition for backwards compatibility with old servers.
The default is version 5, used by the current venti server.
.TP
.B -Z
Do not zero the data sections of the arenas.
Using this option reduces the formatting time
but should only be used when it is known that the file was already zeroed.
(Version 4 only; version 5 sections are not and do not need to be zeroed.)
.PD
.PP
.I Fmtisect
formats the given
.IR file ,
typically a disk partition, as a venti index section with the specified
.IR name .
Each of the index sections in a venti configuration must have a unique name.
.PP
Options to 
.I fmtisect
are:
.TP
.BI -b " bucketsize
The size of an index bucket, in bytes.
All the index sections within a index must have the same bucket size.
The default is
.BR 8k .
.TP
.B -1
Create a `version 1' index section for backwards compatibility with old servers.
The default is version 2, used by the current venti server.
.TP
.B -Z
Do not zero the index.
Using this option reduces the formatting time
but should only be used when it is known that the file was already zeroed.
(Version 1 only; version 2 sections are not and do not need to be zeroed.)
.PD
.PP
.I Fmtbloom
formats the given
.I file
as a Bloom filter
(see
.IR venti (7)).
The options are:
.TF "\fL-s\fI size"
.PD
.TP
.BI -n " nblock \fR| " -N " nhash
The number of blocks expected to be indexed by the filter
or the number of hash functions to use.
If the
.B -n
option
is given, it is used, along with the total size of the filter,
to compute an appropriate
.IR nhash .
.TP
.BI -s " size
The size of the Bloom filter.  The default is the total size of the file.
In either case,
.I size
is rounded down to a power of two.
.PD
.PP
The
.I file
argument in the commands above can be of the form
.IB file : lo - hi
to specify a range of the file. 
.I Lo
and
.I hi
are specified in bytes but can have the usual
.BI k ,
.BI m ,
or
.B g
suffixes.
Either
.I lo
or
.I hi
may be omitted.
This notation eliminates the need to
partition raw disks on non-Plan 9 systems.
.PP
.I Fmtindex
reads the configuration file
.I venti.conf
and initializes the index sections to form a usable index structure.
The arena files and index sections must have previously been formatted
using 
.I fmtarenas
and 
.I fmtisect
respectively.
.PP
The function of a venti index is to map a SHA1 fingerprint to a location
in the data section of one of the arenas.  The index is composed of
blocks, each of which contains the mapping for a fixed range of possible
fingerprint values.
.I Fmtindex
determines the mapping between SHA1 values and the blocks
of the collection of index sections.  Once this mapping has been determined,
it cannot be changed without rebuilding the index. 
The basic assumption in the current implementation is that the index
structure is sufficiently empty that individual blocks of the index will rarely
overflow.  The total size of the index should be about 2% to 10% of
the total size of the arenas, but the exact percentage depends both on the
index block size and the compressed size of blocks stored.
See the discussion in
.IR venti (8)
for more.
.PP
.I Fmtindex
also computes a mapping between a linear address space and
the data section of the collection of arenas.  The
.B -a
option can be used to add additional arenas to an index.
To use this feature,
add the new arenas to
.I venti.conf
after the existing arenas and then run
.I fmtindex
.BR -a .
.PP
A copy of the above mappings is stored in the header for each of the index sections.
These copies enable
.I buildindex
to restore a single index section without rebuilding the entire index.
.PP
To make it easier to bootstrap servers, the configuration
file can be stored in otherwise empty space
at the beginning of any venti partitions using
.IR conf .
A partition so branded with a configuration file can
be used in place of a configuration file when invoking any
of the venti commands.
By default,
.I conf
prints the configuration stored in
.IR partition .
When invoked with the
.B -w
flag,
.I conf
reads a configuration file from 
.I configfile
(or else standard input)
and stores it in
.IR partition .
.SS Checking and Rebuilding
.PP
.I Buildindex
populates the index for the Venti system described in
.IR venti.conf .
The index must have previously been formatted using
.IR fmtindex .
This command is typically used to build a new index for a Venti
system when the old index becomes too small, or to rebuild
an index after media failure.
Small errors in an index can usually be fixed with
.IR checkindex ,
but 
.I checkindex
requires a large temporary workspace and 
.I buildindex
does not.
.PP
Options to 
.I buildindex
are:
.TF "\fL-M\fI imemsize"
.PD
.TP
.B -b
Reinitialise the Bloom filter, if any.
.TP
.B -d
`Dumb' mode; run all three passes.
.TP
.BI -i " isect
Only rebuild index section
.IR isect ;
may be repeated to rebuild multiple sections.
The name
.L none
is special and just reads the arenas.
.TP
.BI -M " imemsize
The amount of memory, in bytes, to use for caching raw disk accesses while running
.IR buildindex .
(This is not a property of the created index.)
The usual suffices apply.
The default is 256M.
.PD
.PP
.I Checkindex
examines the Venti index described in
.IR venti.conf .
The program detects various error conditions including:
blocks that are not indexed, index entries for blocks that do not exist,
and duplicate index entries.
If requested, an attempt can be made to fix errors that are found.
.PP
The
.I tmp
file, usually a disk partition, must be large enough to store a copy of the index.
This temporary space is used to perform a merge sort of index entries
generated by reading the arenas.
.PP
Options to 
.I checkindex
are:
.TP
.BI -B " blockcachesize
The amount of memory, in bytes, to use for caching raw disk accesses while running
.IR checkindex .
The default is 8k.
.TP
.B -f
Attempt to fix any errors that are found.
.PD
.PP
.I Checkarenas
examines the Venti arenas contained in the given
.IR file .
The program detects various error conditions, and optionally attempts
to fix any errors that are found.
.PP
Options to 
.I checkarenas
are:
.TP
.B -a
For each arena, scan the entire data section.
If this option is omitted, only the end section of
the arena is examined.
.TP
.B -f
Attempt to fix any errors that are found.
.TP
.B -v
Increase the verbosity of output.
.PD
.SH SOURCE
.B \*9/src/cmd/venti/srv
.SH SEE ALSO
.IR venti (7),
.IR venti (8)
.SH BUGS
.I Buildindex
should allow an individual index section to be rebuilt.
