This patch is originally from the Debian package but no authorship information was contained within it. Signed-off-by: Jeff Mahoney <jeffm@suse.com>
239 lines
11 KiB
Plaintext
239 lines
11 KiB
Plaintext
.\" -*- nroff -*-
|
||
.\" Copyright 1996-2004 Hans Reiser.
|
||
.\"
|
||
.TH REISERFSTUNE 8 "January 2009" "Reiserfsprogs-@PACKAGE_VERSION@"
|
||
.SH NAME
|
||
reiserfstune \- The tunning tool for the ReiserFS filesystem.
|
||
.SH SYNOPSIS
|
||
.B reiserfstune
|
||
[ \fB-f\fR ]
|
||
[ \fB-h\fR | \fB--help\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 ]
|
||
[ \fB-c\fR | \fB--check-interval \fIinterval-in-days\fR ]
|
||
[ \fB-C\fR | \fB--time-last-checked \fItimestamp\fR ]
|
||
[ \fB-m\fR | \fB--max-mnt-count \fIcount\fR ]
|
||
[ \fB-M\fR | \fB--mnt-count \fIcount\fR ]
|
||
.I device
|
||
.SH DESCRIPTION
|
||
\fBreiserfstune\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
|
||
\fBreiserfstune\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-h\fR | \fB--help\fR
|
||
Print usage information and exit.
|
||
.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 reiserfstune) 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, reiserfstune suppose that
|
||
journal is on main device.
|
||
.TP
|
||
\fB--no-journal-available
|
||
allows \fBreiserfstune\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,
|
||
reiserfstune 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 \fImkreiserfs\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 \fBreiserfstune\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, reiserfstune will truncate it.
|
||
.TP
|
||
\fB-c\fR | \fB--check-interval \fIinterval-in-days\fR
|
||
Adjust the maximal time between two filesystem checks. A value of "disable"
|
||
will disable the time-dependent checking. A value of "default" will restore
|
||
the compile-time default.
|
||
|
||
It is strongly recommended that either
|
||
.B \-m
|
||
(mount-count dependent) or
|
||
.B \-c
|
||
(time-dependent) checking be enabled to force periodic full
|
||
.BR fsck.reiserfs(8)
|
||
checking of the filesystem. Failure to do so may lead to
|
||
filesystem corruption (due to bad disks, cables, memory, or kernel bugs)
|
||
going unnoticed, ultimately resulting in data loss or corruption.
|
||
.TP
|
||
\fB-C\fR | \fB--time-last-checked \fItimestamp\fR
|
||
Set the time the filesystem was last checked using fsck.reiserfs. This
|
||
can be useful in scripts which use a Logical Volume Manager to make a
|
||
consistent snapshot of a filesystem, and then check the filesystem during
|
||
off hours to make sure it hasn't been corrupted due to hardware problems,
|
||
etc. If the filesystem was clean, then this option can be used to set the
|
||
last checked time on the original filesystem. The format of time-last-checked
|
||
is the international date format, with an optional time specifier, i.e.
|
||
YYYYMMDD[HH[MM[SS]]]. The keyword
|
||
.B now
|
||
is also accepted, in which case the
|
||
last checked time will be set to the current time.
|
||
.TP
|
||
\fB-m\fR | \fB--max-mnt-count \fImax-mount-count\fR
|
||
Adjust the number of mounts after which the filesystem will be
|
||
checked by
|
||
.BR fsck.reiserfs(8).
|
||
If max-mount-count is "disable", the number of times the filesystem
|
||
is mounted will be disregarded by
|
||
.BR fsck.reiserfs(8)
|
||
and the kernel. A value of "default" will restore the compile-time default.
|
||
|
||
Staggering the mount-counts at which filesystems are forcibly
|
||
checked will avoid all filesystems being checked at one time
|
||
when using journaled filesystems.
|
||
|
||
You should strongly consider the consequences of disabling
|
||
mount-count-dependent checking entirely. Bad disk drives,
|
||
cables, memory, and kernel bugs could all corrupt a filesystem
|
||
without marking the filesystem dirty or in error. If you are
|
||
using journaling on your filesystem, your filesystem will never
|
||
be marked dirty, so it will not normally be checked. A filesys‐
|
||
tem error detected by the kernel will still force an fsck on the
|
||
next reboot, but it may already be too late to prevent data loss
|
||
at that point.
|
||
|
||
This option requires a kernel which supports incrementing the
|
||
count on each mount. This feature has not been incorporated into
|
||
kernel versions older than 2.6.25.
|
||
|
||
See also the
|
||
.B \-c
|
||
option for time-dependent checking.
|
||
.TP
|
||
\fB-M\fR | \fB--mnt-count \fIcount\fR
|
||
Set the number of times the filesystem has been mounted. If set
|
||
to a greater value than the max-mount-counts parameter set by
|
||
the
|
||
.B \-m
|
||
option,
|
||
.BR fsck.reiserfs(8)
|
||
will check the filesystem at the next
|
||
reboot.
|
||
.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
|
||
reiserfstune /dev/hda1 \-\-journal\-new\-device /dev/journal \-f
|
||
mount /dev/hda1 and use.
|
||
You would like to change max transaction size to 512 blocks
|
||
reiserfstune \-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
|
||
reiserfstune /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
|
||
mkreiserfs /dev/hda1
|
||
you got solid state disk (perhaps /dev/sda, they typically look like scsi disks)
|
||
reiserfstune \-\-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
|
||
reiserfsck \-\-no\-journal\-available /dev/hda1
|
||
or
|
||
reiserfsck \-\-rebuild-tree \-\-no\-journal\-available /dev/hda1
|
||
reiserfstune \-\-no\-journal\-available \-\-journal\-new\-device /dev/hda1 /dev/hda1
|
||
using /dev/hda1 under patched kernel
|
||
.SH AUTHOR
|
||
This version of \fBreiserfstune\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-devel@vger.kerne.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 mkreiserfs (8)
|
||
|
||
|