| .\" -*- 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) |
| |
| |