blob: a4e4d6c010db0d7c1b794d6b54879f736d7f508e [file]
.\" -*- nroff -*-
.\" Copyright 1996-2004 Hans Reiser.
.\"
.TH tunefs.reiserfs 8 "February 2004" "Reiserfsprogs-3.6.19"
.SH NAME
tune.reiserfs \- The tuning tool for the ReiserFS filesystem.
.SH SYNOPSIS
.B tune.reiserfs
[ \fB-f\fR ]
[ \fB-j\fR | \fB--journal-device\fR \fIFILE\fR ]
[ \fB--no-journal-available\fR ]
[ \fB--journal-new-device\fR \fIFILE\fR ] [ \fB--make-journal-standard\fR ]
[ \fB-s\fR | \fB--journal-new-size\fR \fIN\fR ]
[ \fB-o\fR | \fB--journal-new-offset\fR \fIN\fR ]
[ \fB-t\fR | \fB--max-transaction-size\fR \fIN\fR ]
[ \fB-b\fR | \fB--add-badblocks\fR \fIfile\fR ]
[ \fB-B\fR | \fB--badblocks\fR \fIfile\fR ]
[ \fB-u\fR | \fB--uuid \fIUUID\fR ]
[ \fB-l\fR | \fB--label \fILABEL\fR ]
.I device
.SH DESCRIPTION
\fBtune.reiserfs\fR is used for tuning the ReiserFS. It can change two journal
parameters (the journal size and the maximum transaction size), and it can move
the journal's location to a new specified block device. (The old ReiserFS's
journal may be kept unused, or discarded at the user's option.) Besides that
\fBtune.reiserfs\fR can store the bad block list to the ReiserFS and set UUID
and LABEL.
Note: At the time of writing the relocated journal was implemented for a special
release of ReiserFS, and was not expected to be put into the mainstream kernel
until approximately Linux 2.5. This means that if you have the stock kernel you
must apply a special patch. Without this patch the kernel will refuse to mount
the newly modified file system. We will charge $25 to explain this to you if
you ask us why it doesn't work.
.PP
Perhaps the most interesting application of this code is to put the
journal on a solid state disk.
.TP
\fIdevice
is the special file corresponding to the newly specified block device (e.g
/dev/hdXX for IDE disk partition or /dev/sdXX for the SCSI disk partition).
.SH OPTIONS
.TP
\fB-j\fR | \fB--journal-device\fR \fIFILE
\fIFILE\fR is the file name of the block device the file system has
the current journal (the one prior to running tune.reiserfs) on. This option is required when the journal is
already on a separate device from the main data device (although it
can be avoided with \fB--no-journal-available\fR). If you don't
specify journal device by this option, tune.reiserfs suppose that
journal is on main device.
.TP
\fB--no-journal-available
allows \fBtune.reiserfs\fR to continue when the current journal's block
device is no longer available. This might happen if a disk goes bad
and you remove it (and run fsck).
.TP
\fB--journal-new-device \fIFILE
\fIFILE\fR is the file name of the block device which will contain the
new journal for the file system. If you don't specify this,
tune.reiserfs supposes that journal device remains the same.
.TP
\fB \-s\fR | \fB\--journal-new-size \fIN
\fIN\fR is the size parameter for the new journal. When journal is to
be on a separate device - its size defaults to number of blocks that
device has. When journal is to be on the same device as the filesytem - its size defaults
to amount of blocks allocated for journal by \fImkfs.reiserfs\fR when it
created the filesystem. Minimum is 513 for
both cases.
.TP
\fB \-o\fR | \fB\--journal-new-offset \fIN
\fIN\fR is an offset in blocks where journal will starts from when journal is to
be on a separate device. Default is 0. Has no effect when journal is
to be on the same device as the filesystem. Most users have no need
to use this feature. It can be used when you want the journals from
multiple filesystems to reside on the same device, and you don't want
to or cannot partition that device.
.TP
\fB \-t\fR | \fB\--maximal-transaction-size \fIN
\fIN\fR is the maximum transaction size parameter for the new
journal. The default, and max possible, value is 1024 blocks. It
should be less than half the size of the journal. If specifed
incorrectly, it will be adjusted.
.TP
\fB \-b\fR | \fB\--add-badblocks\fR \fIfile\fR
\fIFile\fR is the file name of the file that contains the list of blocks to be marked
as bad on the fs. The list is added to the fs list of bad blocks.
.TP
\fB \-B\fR | \fB\--badblocks\fR \fIfile\fR
\fIFile\fR is the file name of the file that contains the list of blocks to be marked
as bad on the fs. The bad block list on the fs is cleared before the list specified
in the \fIFile\fR is added to the fs.
.TP
\fB\-f\fR | \fB--force\fR
Normally \fBtune.reiserfs\fR will refuse to change a journal of a
file system that was created before this journal relocation code. This
is because if you change the journal, you cannot go back (without special
option \fB--make-journal-standard\fR) to an old kernel that lacks this feature and be able to use your filesytem. This option forces it to do that. Specified more
than once it allows to avoid asking for confirmation.
.TP
\fB--make-journal-standard\fR
As it was mentioned above, if your file system has non-standard journal,
it can not be mounted on the kernel without journal relocation
code. The thing can be changed, the only condition is that there is reserved
area on main device of the standard journal size 8193 blocks (it will be so for
instance if you convert standard journal to non-standard). Just
specify this option when you relocate journal back, or without relocation
if you already have it on main device.
.TP
\fB-u\fR | \fB--uuid \fIUUID\fR
Set the universally unique identifier (\fB UUID \fR) of the filesystem to
\fIUUID\fR (see also \fBuuidgen(8)\fR). The format of the UUID is a
series of hex digits separated by hypthens, like this:
"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
.TP
\fB-l\fR | \fB--label \fILABEL\fR
Set the volume label of the filesystem. \fILABEL\fR can be at most 16
characters long; if it is longer than 16 characters, tune.reiserfs will truncate it.
.SH POSSIBLE SCENARIOS OF USING REISERFSTUNE:
1. You have ReiserFS on /dev/hda1, and you wish to have
it working with its journal on the device /dev/journal
.nf
.IP
boot kernel patched with special "relocatable journal support" patch
tune.reiserfs /dev/hda1 --journal-new-device /dev/journal -f
mount /dev/hda1 and use.
You would like to change max transaction size to 512 blocks
tune.reiserfs -t 512 /dev/hda1
You would like to use your file system on another kernel that doesn't
contain relocatable journal support.
umount /dev/hda1
tune.reiserfs /dev/hda1 -j /dev/journal --journal-new-device /dev/hda1 --make-journal-standard
mount /dev/hda1 and use.
.LP
2. You would like to have ReiserFS on /dev/hda1 and to be able to
switch between different journals including journal located on the
device containing the filesystem.
.nf
.IP
boot kernel patched with special "relocatable journal support" patch
mkfs.reiserfs /dev/hda1
you got solid state disk (perhaps /dev/sda, they typically look like scsi disks)
tune.reiserfs --journal-new-device /dev/sda1 -f /dev/hda1
Your scsi device dies, it is three in the morning, you have an extra IDE device
lying around
fsck.reiserfs --no-journal-available /dev/hda1
or
fsck.reiserfs --rebuild-tree --no-journal-available /dev/hda1
tune.reiserfs --no-journal-available --journal-new-device /dev/hda1 /dev/hda1
using /dev/hda1 under patched kernel
.SH AUTHOR
This version of \fBtune.reiserfs\fR has been written by Vladimir
Demidov <vova@namesys.com> and Edward Shishkin <edward@namesys.com>.
.SH BUGS
Please report bugs to the ReiserFS developers <reiserfs-dev@namesys.com>, 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 fsck.reiserfs (8),
.BR debugfs.reiserfs (8),
.BR mkfs.reiserfs (8)