.\" -*- nroff -*-
.\" Copyright 1996-2004 Hans Reiser.
.\" 
.TH MKREISERFS 8 "January 2009" "Reiserfsprogs-@PACKAGE_VERSION@"
.SH NAME
mkreiserfs \- The create tool for the Linux ReiserFS filesystem.
.SH SYNOPSIS
.B mkreiserfs
[ \fB-dfV\fR ]
[ \fB-b\fR | \fB--block-size \fIN\fR ]
[ \fB-h\fR | \fB--hash \fIHASH\fR ]
[ \fB-u\fR | \fB--uuid \fIUUID\fR ] 
[ \fB-l\fR | \fB--label \fILABEL\fR ]
[ \fB--format \fIFORMAT\fR ]
[ \fB-q\fR | \fB--quiet\fR ]
[ \fB-j\fR | \fB--journal-device \fIFILE\fR ]
[ \fB-s\fR | \fB--journal-size \fIN\fR ]
[ \fB-o\fR | \fB--journal-offset \fIN\fR ]
[ \fB-t\fR | \fB--transaction-max-size\fR \fIN\fR ]
[ \fB-B\fR | \fB--badblocks\fR \fIfile\fR ] \fI device\fR
[ \fIfilesystem-size\fR ]
.SH DESCRIPTION
\fBmkreiserfs\fR creates a Linux ReiserFS filesystem on a device (usually a disk
partition).
.TP
.I device
is the special file corresponding to a device or to a partition (e.g 
/dev/hdXX for an IDE disk partition or /dev/sdXX for a SCSI disk partition).
.TP
.I filesystem-size
is the size in blocks of the filesystem. If omitted, \fBmkreiserfs\fR will
automatically set it.
.SH OPTIONS
.TP
\fB-b\fR | \fB--block-size \fIN\fR
\fIN\fR is block size in bytes. It may only be set to a power of 2 within the
512-8192 interval.
.TP
\fB-h\fR | \fB--hash \fIHASH\fR
\fIHASH\fR specifies which hash function will sort the names in the directories.
Choose from r5, rupasov, or tea. r5 is the default one.
.TP
\fB--format \fIFORMAT\fR
\fIFORMAT\fR specifies the format for the new filsystem. Choose format 3.5 or
3.6. If none is specified \fBmkreiserfs\fR will create format 3.6 if running
kernel is 2.4 or higher, and format 3.5 if kernel 2.2 is running, and will
refuse creation under all other kernels.
.TP
\fB-u\fR | \fB--uuid \fIUUID\fR
Sets  the  Universally  Unique  IDentifier  of  the  filesystem  to  \fIUUID\fR 
(see  also  \fBuuidgen(8)\fR).  The  format  of  the  \fIUUID\fR  is  a  series 
of  hex  digits separated by hypthens, e.g.: "c1b9d5a2-f162-11cf-9ece-0020afc76f16".
If  the option  is skipped,  \fBmkreiserfs\fR  will by default generate a new
\fIUUID\fR.
.TP
\fB-l\fR | \fB--label \fILABEL\fR
Sets  the  volume  label  of  the filesystem. \fILABEL\fR can at most be 16
characters long; if it is longer than 16 characters, \fBmkreiserfs\fR will 
truncate it.
.TP
\fB-q\fR | \fB--quiet \fR
Sets \fBmkreiserfs\fR to work quietly without producing messages, progress or
questions. It is useful, but only for use by end users, if you run \fBmkreiserfs\fR 
in a script.
.TP
\fB-j\fR | \fB--journal-device \fIFILE\fR
\fIFILE\fR is the name of the block device on which is to be places the 
filesystem journal.
.TP
\fB-o\fR | \fB--journal-offset \fIN\fR
\fIN\fR is the offset where the journal starts when it is to be on a separate
device. Default is 0. \fIN\fR has no effect when the journal is to be on the
host device.
.TP
\fB-s\fR | \fB--journal-size \fIN
\fIN\fR is the size of the journal in blocks. When the journal is to be on a
separate device, its size defaults to the number of blocks that the device has.
When journal is to be on the host device, its size defaults to 8193 and the
maximal possible size is 32749 (for blocksize 4k). The minimum size is 513 blocks
(whether the journal is on the host or on a separate device).
.TP
\fB-t\fR | \fB--transaction-max-size \fIN
\fIN\fR is the maximum transaction size parameter for the journal. The
default, and max possible, value is 1024 blocks. It should be less
than half the size of the journal. If specified incorrectly, it will automatically 
be adjusted.
.TP
\fB-B\fR | \fB--badblocks \fIfile
\fIFile\fR is the file name of the file that contains the list of blocks to be 
marked as bad on the filesystem. This list can be created by
\fB/sbin/badblocks \-b block-size device\fR.
.TP
\fB-f\fR
Forces \fBmkreiserfs\fR to continue even when the device is the whole disk, 
looks mounted, or is not a block device. If \fB-f\fR is specified more than
once, it allows the user to avoid asking for confirmation.
.TP
\fB-d\fR
Sets \fBmkreiserfs\fR to print debugging information during \fBmkreiserfs\fR.
.TP
\fB-V\fR
Prints the version and then exits.

.SH AUTHOR
This version of
.B mkreiserfs
has been written by Edward Shishkin <edward@namesys.com>.
.SH BUGS
Please report bugs to the ReiserFS developers <reiserfs-devel@vger.kernel.org>, providing 
as much information as possible--your hardware, kernel, patches, settings, all printed
messages; check the syslog file for any related information.
.SH SEE ALSO
.BR reiserfsck (8),
.BR debugreiserfs (8),
.BR reiserfstune (8)
