+reiserfstune 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 reiserfstune 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.
+
+
+
+
+Perhaps the most interesting application of this code is to
+put the journal on a solid state disk.
+
+
+
+
+device
+
+
+
+
+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).
+
+
OPTIONS
+
+
+
+
+-j | --journal-deviceFILE
+
+
+
+
+FILE 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
+--no-journal-available). If you don't specify journal
+device by this option, reiserfstune suppose that journal is
+on main device.
+
+
+
+
+--no-journal-available
+
+
+
+
+allows reiserfstune 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).
+
+
+
+
+--journal-new-deviceFILE
+
+
+
+
+FILE 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.
+
+
+
+
+-s | --journal-new-sizeN
+
+
+
+
+N 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 mkreiserfs
+when it created the filesystem. Minimum is 513 for both
+cases.
+
+
+
+
+-o | --journal-new-offset
+N
+
+
+
+
+N 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.
+
+
+
+
+-t | --trans-max-size
+N
+
+
+
+
+N 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.
+
+
+
+
+-b | --add-badblocksfile
+
+
+
+
+File 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.
+
+
+
+
+-B | --badblocksfile
+
+
+
+
+File 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
+File is added to the fs.
+
+
+
+
+-f | --force
+
+
+
+
+Normally reiserfstune 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
+--make-journal-standard) 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.
+
+
+
+
+--make-journal-standard
+
+
+
+
+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.
+
+
+
+
+-u | --uuidUUID
+
+
+
+
+Set the universally unique identifier ( UUID ) of the
+filesystem to UUID (see also uuidgen(8)). The
+format of the UUID is a series of hex digits separated by
+hypthens, like this:
+"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+
+
+
+
+-l | --labelLABEL
+
+
+
+
+Set the volume label of the filesystem. LABEL can be
+at most 16 characters long; if it is longer than 16
+characters, reiserfstune will truncate it.
+
+
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
+
+
+
+
+
+ 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.
+
+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.
+
+ 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
+
+
+
AUTHOR
+
+
+
+
+This version of reiserfstune has been written by
+Vladimir Demidov <vova@namesys.com> and Edward
+Shishkin <edward@namesys.com>.
+
+
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.
+The resize_reiserfs tool resizes an unmounted
+reiserfs file system. It enlarges or shrinks a reiserfs
+file system located on a device so that it will have
+size bytes or size=old_size +(-) size bytes if
+the + or - prefix is used. If the -s option is not
+specified, the filesystem will be resized to fill the given
+device. The size parameter may have one of the
+optional modifiers K, M, G, which means
+the size parameter is given in kilo-, mega-,
+gigabytes respectively.
+
+
+
+
+The resize_reiserfs program does not manipulate the
+size of the device. If you wish to enlarge a filesystem, you
+must make sure you expand the underlying device first. This
+can be done using cfdisk(8) for partitions, by
+deleting the partition and recreating it with a larger size
+(assuming there is free space after the partition in
+question). Make sure you re-create it with the same starting
+disk cylinder as before! Otherwise, the resize operation
+will certainly not work, and you may lose your entire
+filesystem.
+
+
+
+
+The resize_reiserfs program allows to grow a reiserfs
+on-line if there is a free space on block
+device.
+
+
+
+
+If you wish to shrink a reiserfs partition, first use
+resize_reiserfs to shrink the file system. You may
+then use cfdisk(8) to shrink the device. When
+shrinking the size of the device, make sure you do not make
+it smaller than the reduced size of the reiserfs
+filesystem.
+
+
OPTIONS
+
+
+
+
+-s [+|-]size
+
+
+
+
+Set the new size in bytes.
+
+
+
+
+-jdev
+
+
+
+
+Set the journal device name.
+
+
+
+
+-f
+
+
+
+
+Force, do not perform checks.
+
+
+
+
+-q
+
+
+
+
+Do not print anything but error messages.
+
+
+
+
+-v
+
+
+
+
+Turn on extra progress status messages
+(default).
+
+
RETURN VALUES
+
+
+
+
+0 Resizing successful.
+
+
+
+
+-1 Resizing not successful.
+
+
EXAMPLES
+
+
+
+
+The following example shows how to test
+resize_reiserfs. Suppose 2Gb reiserfs filesystem is
+created on the device /dev/hda8 and is mounted on /mnt. For
+shrinking the device we need to unmount it first, then run
+resize_reiserfs with a size parameter (in this
+case -1Gb):
+This version of resize_reiserfs has been written by
+Alexander Zarochentcev <zam@namesys.com>.
+
+
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.
+ Instructs 3.6 ReiserFS code to mount
+ 3.5 filesystem, using
+ 3.6 format for newly created objects.
+ After this you cannot use it through 3.5
+ ReiserFS tools anymore. This option causes conversion of old
+ format super block to the new format. If not specified - old
+ partition will be dealt with in a manner of 3.5.
+
+
Example:
+
+ mount -t reiserfs -o conv /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
+
nolog
+
+
+ Disable journalling. This will get you slight performance improvement in
+ some situations at the cost of losing fast recovery from crashes.
+ Actually even with this option turned on, ReiserFS still performs all
+ journalling paraphernalia, save for actual writes into journalling area.
+ Implementation of real nolog is work in progress.
+
+
Example:
+
+ mount -t reiserfs -o nolog /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
notail
+
+
+ By default, ReiserFS stores small files and `file tails' directly
+ into the tree. This confuses some utilities like
+ LILO. This option is used to disable
+ packing of files into the tree.
+
+
Example:
+
+ mount -t reiserfs -o notail /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
+
+
replayonly
+
+
+ Replay transactions in journal, but don't actually mount filesystem.
+ Used by fsck, mostly.
+
+
Example:
+
+ mount -t reiserfs -o replayonly /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
jdev=journal_device
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o jdev=/dev/sdb2 /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
attrs
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o attrs /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
noattrs
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o noattrs /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
resize=NUMBER
+
+
+ Remount option allowing to expand ReiserFS partition on-line.
+ Make ReiserFS think that device has NUMBER blocks.
+ Useful with LVM devices.
+ There is a special resizer utility
+ which can be obtained from
+ ftp://ftp.namesys.com/pub/reiserfsprogs
+
+
Example:
+
+ mount -t reiserfs -o resize=680000 /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
hash=rupasov / tea / r5 / detect
+
+
+ Choose hash function ReiserFS will use to find files within
+ directories.
+ Long time ago ReiserFS had only one hash,
+ so hash code was not marked in filesystem superblock. Then additional hashes
+ became available so we had to put hash code into super block. Also, old hash was
+ made notdefault. At that time there were already a number of filesystems with not
+ set hash code in super block. So, mount option was created to make it possible to
+ write proper hash value into super block.
+ Relative merits of hash functions were subjected to discussions of great
+ length on the
+ ReiserFS mailing list.
+ (Try this query.)
+ Roughly speaking: 99% of the time, this option
+ is not required. If the normal autodection code can't determine which
+ hash to use (because both hases had the same value for a file)
+ use this option to force a specific hash. It won't allow you to override
+ the existing hash on the FS, so if you have a tea hash disk, and mount
+ with -o hash=rupasov, the mount will fail.
+
+
+
+
+
rupasov
+
+
+ This hash is invented by
+ Yury Yu. Rupasov <yura@yura.polnet.botik.ru>. It is fast and preserves locality, mapping lexicographically
+ close file names to the close hash values. Never use it, as it has high probability of hash collisions.
+
+
+
+
+
tea
+
+
+ This hash is a Davis-Meyer function
+ implemented by Jeremy Fitzhardinge <jeremy@zip.com.au>.
+ It is hash permuting bits in the name thoroughly. It gets high randomness
+ and, therefore, low probability of hash collision, but this costs
+ performance. Use this if you got EHASHCOLLISION with
+ r5 hash.
+
+
+
+
r5
+
+
+ This hash is a modified version of
+ rupasov hash. It is used by default and it is
+ better to stick here until you have to support huge directories and unusual
+ file-name patterns.
+
+
+
+
detect
+
+
+ This is the instructs mount to detect hash function
+ in use by instance of filesystem being mounted and write this information
+ into superblock. This is only useful on the first mount of old filesystem.
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o hash=r5 /dev/sdb1 /mnt/scsi-disk-b
+
+ Tunes block allocator.
+ This option is used for testing experimental features, makes benchmarking new
+ features with and without more convenient, should never be used by
+ users in any code shipped to users (ideally).
+
+
+
+
+
+
+
hashed_relocation
+
+
+ Tunes block allocator.
+ This may give you performance improvements in some situations.
+
+
+
+
+
+
no_unhashed_relocation
+
+
+ Tunes block allocator.
+ This may give you performance improvements in some situations.
+
+ mount -t reiserfs -o block-allocator=border /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
+
+
+
+
+
+
+
linux kernels 2.6.x
+
+
+
+
conv
+
+
+ Instructs 3.6 ReiserFS code to mount
+ 3.5 filesystem, using
+ 3.6 format for newly created objects.
+ After this you cannot use it through 3.5
+ ReiserFS tools anymore. This option causes conversion of old
+ format super block to the new format. If not specified - old
+ partition will be dealt with in a manner of 3.5.
+
+
Example:
+
+ mount -t reiserfs -o conv /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
+
nolog
+
+
+ Disable journalling. This will get you slight performance improvement in
+ some situations at the cost of losing fast recovery from crashes.
+ Actually even with this option turned on, ReiserFS still performs all
+ journalling paraphernalia, save for actual writes into journalling area.
+ Implementation of real nolog is work in progress.
+
+
Example:
+
+ mount -t reiserfs -o nolog /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
notail
+
+
+ By default, ReiserFS stores small files and `file tails' directly
+ into the tree. This confuses some utilities like
+ LILO. This option is used to disable
+ packing of files into the tree.
+
+
Example:
+
+ mount -t reiserfs -o notail /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
replayonly
+
+
+ Replay transactions in journal, but don't actually mount filesystem.
+ Used by fsck, mostly.
+
+
Example:
+
+ mount -t reiserfs -o replayonly /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
jdev=journal_device
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o jdev=/dev/sdb2 /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
attrs
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o attrs /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
noattrs
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o noattrs /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
resize=NUMBER
+
+
+ Remount option allowing to expand ReiserFS partition on-line.
+ Make ReiserFS think that device has NUMBER blocks.
+ Useful with LVM devices.
+ There is a special resizer utility
+ which can be obtained from
+ ftp://ftp.namesys.com/pub/reiserfsprogs
+
+
Example:
+
+ mount -t reiserfs -o resize=680000 /dev/sdb1 /mnt/scsi-disk-b
+
+
+
+
+
data=ordered / journal / writeback
+
+
+ Specifies the journalling mode for file data. Metadata is always journaled.
+
+
+
journal
+
+
+ All data is committed into the journal prior to being written into the main
+ file system.
+
+
+
+
+
ordered
+
+
+ This is the default mode. All data is forced directly out to the main
+ file system prior to its metadata being committed to the journal.
+
+
+
+
writeback
+
+
+ Data ordering is not preserved - data may be written into the main
+ file system after its metadata has been committed to the journal.
+ This is rumoured to be the highest-throughput option. It guarantees
+ internal file system integrity, however it can allow old data to appear in
+ files after a crash and journal recovery.
+
+
+
+
+
+
+
Example:
+
+ mount -t reiserfs -o data=writeback /dev/sdb1 /mnt/scsi-disk-b
+
+ Tunes block allocator.
+ This option is used for testing experimental features, makes benchmarking new
+ features with and without more convenient, should never be used by
+ users in any code shipped to users (ideally).
+
+
+
+
+
+
+
hashed_relocation
+
+
+ Tunes block allocator.
+ This may give you performance improvements in some situations.
+
+
+
+
+
+
no_unhashed_relocation
+
+
+ Tunes block allocator.
+ This may give you performance improvements in some situations.
+
+Reiserfsck searches for a Reiserfs filesystem on a
+device, replays any necessary transactions, and either
+checks or repairs the file system.
+
+
+
+
+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).
+
+
OPTIONS
+
+
+
+
+--rebuild-sb
+
+
+
+
+This option recovers the superblock on a Reiserfs partition.
+Normally you only need this option if mount reports
+"read_super_block: can't find a reiserfs file
+system" and you are sure that a Reiserfs file system is
+there. But remember that if you have used some partition
+editor program and now you cannot find a filesystem,
+probably something has gone wrong while repartitioning and
+the start of the partition has been changed. If so, instead
+of rebuilding the super block on a wrong place you should
+find the correct start of the partition first.
+
+
+
+
+--check
+
+
+
+
+This default action checks filesystem consistency and
+reports, but does not repair any corruption that it finds.
+This option may be used on a read-only file system
+mount.
+
+
+
+
+--fix-fixable
+
+
+
+
+This option recovers certain kinds of corruption that do not
+require rebuilding the entire file system tree
+(--rebuild-tree). Normally you only need this option
+if the --check option reports "corruption that
+can be fixed with --fix-fixable". This includes:
+zeroing invalid data-block pointers, correcting st_size and
+st_blocks for directories, and deleting invalid directory
+entries.
+
+
+
+
+--rebuild-tree
+
+
+
+
+This option rebuilds the entire filesystem tree using leaf
+nodes found on the device. Normally you only need this
+option if the reiserfsck --check reports
+"Running with --rebuild-tree is required".
+You are strongly encouraged to make a backup copy of the
+whole partition before attempting the --rebuild-tree
+option. Once reiserfsck --rebuild-tree is started it
+must finish its work (and you should not interrupt it),
+otherwise the filesystem will be left in the unmountable
+state to avoid subsequent data corruptions.
+
+
+
+
+--clean-attributes
+
+
+
+
+This option cleans reserved fields of Stat-Data items. There
+were days when there were no extended attributes in
+reiserfs. When they were implemented old partitions needed
+to be cleaned first -- reiserfs code in the kernel did not
+care about not used fields in its strutures. Thus if you
+have used one of the old (pre-attrbutes) kernels with a
+ReiserFS filesystem and you want to use extented attribues
+there, you should clean the filesystem first.
+
+
+
+
+--journaldevice , -j
+device
+
+
+
+
+This option supplies the device name of the current file
+system journal. This option is required when the journal
+resides on a separate device from the main data device
+(although it can be avoided with the expert option
+--no-journal-available).
+
+
+
+
+--adjust-size, -z
+
+
+
+
+This option causes reiserfsck to correct file sizes
+that are larger than the offset of the last discovered byte.
+This implies that holes at the end of a file will be
+removed. File sizes that are smaller than the offset of the
+last discovered byte are corrected by
+--fix-fixable.
+
+
+
+
+--badblocksfile, -B
+file
+
+
+
+
+This option sets the badblock list to be the list of blocks
+specified in the given `file`. The filesystem badblock list
+is cleared before the new list is added. It can be used with
+--fix-fixable to fix the list of badblocks (see
+debugreiserfs -B). If the device has bad blocks,
+every time it must be given with the --rebuild-tree
+option.
+
+
+
+
+--logfilefile, -l
+file
+
+
+
+
+This option causes reiserfsck to report any
+corruption it finds to the specified log file rather than to
+stderr.
+
+
+
+
+--nolog, -n
+
+
+
+
+This option prevents reiserfsck from reporting any
+kinds of corruption.
+
+
+
+
+--quiet, -q
+
+
+
+
+This option prevents reiserfsck from reporting its
+rate of progress.
+
+
+
+
+--yes, -y
+
+
+
+
+This option inhibits reiserfsck from asking you for
+confirmation after telling you what it is going to do. It
+will assuem you confirm. For safety, it does not work with
+the --rebuild-tree option.
+
+
+
+
+-a, -p
+
+
+
+
+These options are usually passed by fsck -A during the
+automatic checking of those partitions listed in /etc/fstab.
+These options cause reiserfsck to print some
+information about the specified filesystem, to check if
+error flags in the superblock are set and to do some
+light-weight checks. If these checks reveal a corruption or
+the flag indicating a (possibly fixable) corruption is found
+set in the superblock, then reiserfsck switches to
+the fix-fixable mode. If the flag indicating a fatal
+corruption is found set in the superblock, then
+reiserfsck finishes with an error.
+
+
+
+
+-V
+
+
+
+
+This option prints the reiserfsprogs version and then
+exit.
+
+
+
+
+-r, -f
+
+
+
+
+These options are not yet operational and therefore are
+ignored.
+
+
EXPERT OPTIONS
+
+
+
+
+DO NOT USE THESE OPTIONS UNLESS YOU KNOW WHAT YOU ARE DOING.
+WE ARE NOT RESPONSIBLE IF YOU LOSE DATA AS A RESULT OF THESE
+OPTIONS.
+
+
+
+
+--no-journal-available
+
+
+
+
+This option allows reiserfsck to proceed when the
+journal device is not available. This option has no effect
+when the journal is located on the main data device. NOTE:
+after this operation you must use reiserfstune to
+specify a new journal device.
+
+
+
+
+--scan-whole-partition, -S
+
+
+
+
+This option causes --rebuild-tree to scan the whole
+partition but not only the used space on the
+partition.
+
+
AN EXAMPLE OF USING reiserfsck
+
+
+
+
+1. You think something may be wrong with a reiserfs
+partition on /dev/hda1 or you would just like to perform a
+periodic disk check.
+
+
+
+
+2. Run reiserfsck --check --logfile check.log
+/dev/hda1. If reiserfsck --check exits with
+status 0 it means no errors were discovered.
+
+
+
+
+3. If reiserfsck --check exits with status 1 (and
+reports about fixable corruptions) it means that you should
+run reiserfsck --fix-fixable --logfile fixable.log
+/dev/hda1.
+
+
+
+
+4. If reiserfsck --check exits with status 2 (and
+reports about fatal corruptions) it means that you need to
+run reiserfsck --rebuild-tree. If reiserfsck
+--check fails in some way you should also run
+reiserfsck --rebuild-tree, but we also encourage you
+to submit this as a bug report.
+
+
+
+
+5. Before running reiserfsck --rebuild-tree, please
+make a backup of the whole partition before proceeding. Then
+run reiserfsck --rebuild-tree --logfile rebuild.log
+/dev/hda1.
+
+
+
+
+6. If the reiserfsck --rebuild-tree step fails or
+does not recover what you expected, please submit this as a
+bug report. Try to provide as much information as possible
+including your platform and Linux kernel version. We will
+try to help solve the problem.
+
+
EXIT CODES
+
+
+
+
+reiserfsck uses the following exit codes:
+0 - No errors.
+1 - File system errors corrected.
+2 - Reboot is needed.
+4 - File system fatal errors left uncorrected,
+reiserfsck --rebuild-tree needs to be launched.
+6 - File system fixable errors left uncorrected,
+reiserfsck --fix-fixable needs to be launched.
+8 - Operational error.
+16 - Usage or syntax error.
+
+
AUTHOR
+
+
+
+
+This version of reiserfsck has been written by Vitaly
+Fertman <vitaly@namesys.com>.
+
+
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, the logfile; check the
+syslog file for any related information.
+debugreiserfs sometimes helps to solve problems with
+reiserfs filesystems. When run without options it prints the
+super block of the ReiserFS filesystem found on the
+device.
+
+
+
+
+device
+
+
+
+
+is the special file corresponding to the device (e.g
+/dev/hdXX for an IDE disk partition or /dev/sdXX for a SCSI
+disk partition).
+
+
OPTIONS
+
+
+
+
+-jdevice
+
+
+
+
+prints the contents of the journal. The option -p allows it
+to pack the journal with other metadata into the
+archive.
+
+
+
+
+-J
+
+
+
+
+prints the journal header.
+
+
+
+
+-d
+
+
+
+
+prints the formatted nodes of the internal tree of the
+filesystem.
+
+
+
+
+-D
+
+
+
+
+prints the formatted nodes of all used blocks of the
+filesystem.
+
+
+
+
+-m
+
+
+
+
+prints the contents of the bitmap (slightly
+useful).
+
+
+
+
+-o
+
+
+
+
+prints the objectid map (slightly useful).
+
+
+
+
+-Bfile
+
+
+
+
+takes the list of bad blocks stored in the internal ReiserFS
+tree and translates it into an ascii list written to the
+specified file.
+
+
+
+
+-1blocknumber
+
+
+
+
+prints the specified block of the filesystem.
+
+
+
+
+-p
+
+
+
+
+extracts the filesystem's metadata with debugreiserfs
+-p /dev/xxx | gzip -c > xxx.gz. None of your data are
+packed unless a filesystem corruption presents when the
+whole block having this corruption is packed. You send us
+the output, and we use it to create a filesystem with the
+same strucure as yours using debugreiserfs -u. When
+the data file is not too large, this usually allows us to
+quickly reproduce and debug the problem.
+
+
+
+
+-u
+
+
+
+
+builds the ReiserFS filesystem image with gunzip -c xxx.gz |
+debugreiserfs -u /dev/image of the previously packed
+metadata with debugreiserfs -p. The result image is
+not the same as the original filesystem, because mostly only
+metadata were packed with debugreiserfs -p, but the
+filesystem structure is completely recreated.
+
+
+
+
+-S
+
+
+
+
+When -S is not specified -p deals with blocks marked used in
+the filesystem bitmap only. With this option set
+debugreiserfs will work with the entire
+device.
+
+
+
+
+-q
+
+
+
+
+When -p is in use, suppress showing the speed of
+progress.
+
+
AUTHOR
+
+
+
+
+This version of debugreiserfs has been written by
+Vitaly Fertman <vitaly@namesys.com>.
+
+
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.
+mkreiserfs creates a Linux ReiserFS filesystem on a
+device (usually a disk partition).
+
+
+
+
+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).
+
+
+
+
+filesystem-size
+
+
+
+
+is the size in blocks of the filesystem. If omitted,
+mkreiserfs will automatically set it.
+
+
OPTIONS
+
+
+
+
+-b | --block-sizeN
+
+
+
+
+N is block size in bytes. It may only be set to a
+power of 2 within the 512-8192 interval.
+
+
+
+
+-h | --hashHASH
+
+
+
+
+HASH specifies which hash function will sort the
+names in the directories. Choose from r5, rupasov, or tea.
+r5 is the default one.
+
+
+
+
+--formatFORMAT
+
+
+
+
+FORMAT specifies the format for the new filsystem.
+Choose format 3.5 or 3.6. If none is specified
+mkreiserfs 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.
+
+
+
+
+-u | --uuidUUID
+
+
+
+
+Sets the Universally Unique IDentifier of the filesystem to
+UUID (see also uuidgen(8)). The format of the
+UUID is a series of hex digits separated by hypthens,
+e.g.: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". If
+the option is skipped, mkreiserfs will by default
+generate a new UUID.
+
+
+
+
+-l | --labelLABEL
+
+
+
+
+Sets the volume label of the filesystem. LABEL can at
+most be 16 characters long; if it is longer than 16
+characters, mkreiserfs will truncate it.
+
+
+
+
+-q | --quiet
+
+
+
+
+Sets mkreiserfs to work quietly without producing
+messages, progress or questions. It is useful, but only for
+use by end users, if you run mkreiserfs in a
+script.
+
+
+
+
+-j | --journal-deviceFILE
+
+
+
+
+FILE is the name of the block device on which is to
+be places the filesystem journal.
+
+
+
+
+-o | --journal-offsetN
+
+
+
+
+N is the offset where the journal starts when it is
+to be on a separate device. Default is 0. N has no
+effect when the journal is to be on the host
+device.
+
+
+
+
+-s | --journal-sizeN
+
+
+
+
+N 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).
+
+
+
+
+-t | --transaction-max-size
+N
+
+
+
+
+N 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.
+
+
+
+
+-B | --badblocksfile
+
+
+
+
+File 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 /sbin/badblocks -b block-size
+device.
+
+
+
+
+-f
+
+
+
+
+Forces mkreiserfs to continue even when the device is
+the whole disk, looks mounted, or is not a block device. If
+-f is specified more than once, it allows the user to
+avoid asking for confirmation.
+
+
+
+
+-d
+
+
+
+
+Sets mkreiserfs to print debugging information during
+mkreiserfs.
+
+
+
+
+-V
+
+
+
+
+Prints the version and then exits.
+
+
AUTHOR
+
+
+
+
+This version of mkreiserfs has been written by Edward
+Shishkin <edward@namesys.com>.
+
+
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.
+ReiserFS is a filesystem based on plug-in based object-oriented balanced
+tree algorithms. See http://www.namesys.com
+for a full treatment of ReiserFS.
+
+
+Get the latest ReiserFS patches from one of the mirrors listed at http://www.namesys.com
+
+
+
+
+Suppose you have linux-2.2.15-reiserfs-3.5.21-patch.gz (latest as of
+06/06/2000).
+
+
+
+Have kernel sources of 2.2.15.
+
+
+
+Apply ReiserFS patch to it.
+
+
+
+When configuring, say y or n on ReiserFS support question. Read
+CONFIGURATION section below.
+
+
+
+Compile and install kernel image and modules as usual.
+
+
+
+ReiserFS utils are located in the patched kernel source tree in
+linux/fs/reiserfs/utils. Follow the instruction of
+linux/fs/reiserfs/utils/README.
+
+
+
+Boot with the kernel just built, mkreiserfs spare partition, mount it.
+
+
+turns off journalling feature of ReiserFS. This gives performance gain for
+some applications, but you lose fault tolerance. That is, you must properly
+umount your disk, or else you will have to repair the filesystem using reiserfsck(8) on the subsequent boot.
+
+
+used internally by reiserfsck(8) to replay the journal before doing filesystem check. (No actual mount
+happens if you try to mount ReiserFS with this option, only the log
+replay.)
+
+
+See http://www.namesys.com
+for a current list, there are many, Vladimir Saveljev, Igor, and Hans
+Reiser are among them. Ecila.org contributed the funding that started this
+going.
+
+
+mkreiserfs(8), reiserfsck(8)
+
+
+
+
+
+
--- reiserfsprogs-3.6.21.orig/include/credits.h
+++ reiserfsprogs-3.6.21/include/credits.h
@@ -0,0 +1,93 @@
+/*
+ Copyright 1996-2004 by Hans Reiser, licensing governed by
+ reiserfsprogs/README.
+*/
+
+char *credits[] = {
+ "Hans Reiser was the project initiator, source of all funding for the first 5.5\n" \
+ "years. He is the architect and official maintainer.\n",
+
+ "Vladimir Saveliev started as the most junior programmer on the team, and became\n" \
+ "the lead programmer. He is now an experienced highly productive programmer. He\n" \
+ "wrote the extent handling code for Reiser4, plus parts of the balancing code \n" \
+ "and file write and file read.\n",
+
+ "Alexander Zarochentcev (zam) wrote the high low priority locking code, online\n" \
+ "resizer for V3 and V4, online repacker for V4, block allocation code, and major\n" \
+ "parts of the flush code, and maintains the transaction manager code. We give\n" \
+ "him the stuff that we know will be hard to debug, or needs to be very cleanly\n" \
+ "structured.\n",
+
+ "Nikita Danilov wrote most of the core balancing code, plugin infrastructure,\n" \
+ "and directory code. He steadily worked long hours, and is the reason so much of\n" \
+ "the Reiser4 plugin infrastructure is well abstracted in its details. The carry \n" \
+ "function, and the use of non-recursive balancing, are his idea.\n",
+
+ "Vladimir Demidov wrote the parser for sys_reiser4(), the V3 alpha port, part of\n" \
+ "the V3 journal relocation code, and helped Hans keep the business side of\n" \
+ "things running.\n",
+
+ "Chris Mason wrote the journaling code for V3, which was enormously more useful\n" \
+ "to users than just waiting until we could create a wandering log filesystem as\n" \
+ "Hans would have unwisely done without him.\n" \
+ "Jeff Mahoney optimized the bitmap scanning code for V3, and performed the big\n" \
+ "endian cleanups. \n",
+
+ "Elena Gryaznova performed testing and benchmarking.\n",
+
+ "Oleg Drokin was the debugger for V3 during most of the time that V4 was under\n" \
+ "development, and was quite skilled and fast at it. He wrote the large write\n" \
+ "optimization of V3.\n",
+
+ "Edward Shishkin wrote the encryption and compression file plugins, and the V3\n" \
+ "journal relocation code.\n",
+
+ "Alexander Lyamin keeps our hardware running, and was very generous to our\n" \
+ "project in many little ways.\n",
+
+ "Vitaly Fertman wrote fsck for V3 and maintains the reiserfsprogs package now.\n" \
+ "He wrote librepair, userspace plugins repair code, fsck for V4, and worked on\n" \
+ "developing libreiser4 and userspace plugins with Umka.\n",
+
+ "Yury Umanets (aka Umka) developed libreiser4, userspace plugins, and all\n" \
+ "userspace tools (reiser4progs) except of fsck.\n",
+
+ "Joshua Macdonald wrote the first draft of the transaction manager. Yuri Rupasov\n" \
+ "did testing and benchmarking, plus he invented the r5 hash (also used by the\n" \
+ "dcache code). Yura Rupasov, Anatoly Pinchuk, Igor Krasheninnikov, Grigory\n" \
+ "Zaigralin, Mikhail Gilula, Igor Zagorovsky, Roman Pozlevich, Konstantin\n" \
+ "Shvachko, and Joshua MacDonald are former contributors to the project.\n",
+
+ "Jeremy Fitzhardinge wrote the teahash.c code for V3. Colin Plumb also\n" \
+ "contributed to that.\n",
+
+ "The Defense Advanced Research Projects Agency (DARPA, www.darpa.mil) is the\n" \
+ "primary sponsor of Reiser4. DARPA does not endorse this project; it merely \n" \
+ "sponsors it.\n",
+
+ "Continuing core development of ReiserFS is mostly paid for by Hans Reiser from\n" \
+ "money made selling licenses in addition to the GPL to companies who don't want\n" \
+ "it known that they use ReiserFS as a foundation for their proprietary product.\n" \
+ "And my lawyer asked 'People pay you money for this?'. Yup. Life is good. If you\n" \
+ "buy ReiserFS, you can focus on your value add rather than reinventing an entire\n" \
+ "FS.\n",
+
+ "BigStorage (www.bigstorage.com) contributes to our general fund every month,\n" \
+ "and has done so for quite a long time.\n",
+
+ "SuSE (www.suse.com) pays for continuing work on journaling for version 3, paid\n" \
+ "for much of the previous version 3 work, and is paying for Chris and Jeff to do\n" \
+ "V3 maintenance. Reiserfs integration in their distro is consistently solid, and\n" \
+ "they were key to our becoming widely used.\n",
+
+ "Lycos Europe (www.lycos-europe.com) had a support contract with us that\n" \
+ "consistently came in just when we would otherwise have missed payroll, and that\n" \
+ "they kept doubling every year. Much thanks to them.\n",
+
+ "Many persons came to www.namesys.com/support.html, and got a question answered\n" \
+ "for $25, or just gave us a small donation there.\n",
+
+ "Thanks to all of those sponsors, including the secret ones. Without you, we\n" \
+ "would each still have that day job.\n"
+};
+#define CREDITS_COUNT 20