ReiserFS

ReiserFS

Infobox Filesystem
name = ReiserFS
full_name = ReiserFS
developer = Namesys
introduction_os = Linux 2.4.1
introduction_date = 2001
OS = Linux
partition_id = Apple_UNIX_SVR2 (Apple Partition Map)
0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
directory_struct = B+ tree
file_struct = Bitmap [http://namesys.com/X0reiserfs.html#nodelayout]
bad_blocks_struct =
max_filename_size = 4032 bytes, limited to 255 by Linux VFS
max_files_no = 232 (~4 billion) [http://namesys.com/faq.html#reiserfsspecs]
max_volume_size = 16 TiB [http://namesys.com/faq.html#reiserfsspecs]
max_file_size = 8 TiB [http://namesys.com/faq.html#reiserfsspecs]
filename_character_set = All bytes except NUL and '/'
dates_recorded = modification (mtime), metadata change (ctime), access (atime)
date_range = December 14, 1901 - January 18, 2038
date_resolution = 1s
forks_streams = Extended attributes
attributes =
file_system_permissions = Unix permissions, ACLs and arbitrary security attributes
compression = No
encryption = No

ReiserFS is a general-purpose, journaled computer file system designed and implemented by a team at Namesys led by Hans Reiser. ReiserFS is currently supported on Linux. Introduced in version 2.4.1 of the Linux kernel, it was the first journaling file system to be included in the standard kernel. ReiserFS is the default file system on the Elive, Xandros, Linspire, GoboLinux, Kurumin LinuxFact|date=October 2007, and Yoper Linux distributions. ReiserFS was the default file system in Novell's SUSE Linux Enterprise until Novell decided to move to ext3 on October 12, 2006 for future releases. [cite news |first=Stephen |last=Shankland |title=Novell makes file storage software shift |url=http://news.com.com/Novell+makes+file-storage+software+shift/2100-1016_3-6125509.html |work=Business Tech |publisher=c|net News.com |date=2006-10-12] Although the change was rumored to be a result of principal author Hans Reiser being charged with the murder of his wife two days earlierFact|date=September 2008, SUSE stated that the timing of the announcement was coincidental and unrelated.cite news |first=Jeff |last=Mahoney |url=http://linux.wordpress.com/2006/09/27/suse-102-ditching-reiserfs-as-it-default-fs/ |date=2006-10-04 |title=Announcement was unrelated to Reiser's legal troubles]

Namesys considers ReiserFS (now occasionally referred to as Reiser3) stable and feature-complete and, with the exception of security updates and critical bug fixes, has thus ceased development on it to concentrate on its successor, Reiser4.

Features

At the time of its introduction, ReiserFS offered features that had not been available in existing Linux file systems:
* Metadata-only journaling (also block journaling, since Linux 2.6.8), its most-publicized advantage over what was the stock Linux file system at the time, ext2.
* Online resizing (growth only), with or without an underlying volume manager such as LVM. Since then, Namesys has also provided tools to resize (both grow and shrink) ReiserFS file systems offline.
* Tail packing, a scheme to reduce internal fragmentation. Tail packing, however, can have a significant performance impact. Reiser4 may have improved this by packing tails where it does not hurt performance. [cite web |url=http://www.namesys.com/v4/v4.html#BLOBs |title=Reiser4 is released! |accessdate=2006-07-15 |last=Reiser |first=Hans]

Performance

Compared with ext2 and ext3 in version 2.4 of the Linux kernel, when dealing with files under 4 KiB and with tail packing enabled, ReiserFS is often faster by a factor of 10–15.Fact|date=February 2007 This is of great benefit in Usenet news spools, HTTP caches, mail delivery systems and other applications where performance with small files is critical.

However, because ReiserFS still uses the Big Kernel Lock (BKL) — a global kernel-wide lock — in some places, it does not scale very well for systems with multiple cores, as the critical code parts are only ever executed by one core at a time.

Criticism

Some directory operations (including unlink(2)) are not synchronous on ReiserFS, which can result in data corruption with applications relying heavily on file-based locks (such as mail transfer agents qmail [Daniel Robbins (2001), [http://www-128.ibm.com/developerworks/library/l-fs2.html#h21367 "Advanced file system implementor's guide"] . Retrieved 5. July 2006] and Postfix [Matthias Andree (2001), LKML post on [http://www.ussg.iu.edu/hypermail/linux/kernel/0107.3/0358.html Postfix synchronity assumptions] . Retrieved 15. July 2006] ) if the machine halts before it has synchronized the disk. [ [http://archives.neohapsis.com/archives/postfix/2001-05/1749.html NEOHAPSIS - Peace of Mind Through Integrity and Insight ] ]

There are no programs to specifically defragment a ReiserFS file system, although tools have been written to automatically copy the contents of fragmented files hoping that more contiguous blocks of free space can be found. However, Reiser4 will have a repacker that optimizes file fragmentation. [Hans Reiser, [http://www.namesys.com/v4/v4.html#repacker Reiser4 design, repacker] . Retrieved 5. July 2006]

fsck

The tree rebuild process of ReiserFS's fsck has attracted much criticism: If the file system becomes so badly corrupt that its internal tree is unusable, performing a tree rebuild operation may further corrupt existing files or introduce new entries with unexpected contents. [ [http://www.uwsg.iu.edu/hypermail/linux/kernel/0506.3/0219.html Theodore Ts'o LKML post] . Retrieved 5. July 2006] But this action is not part of normal operation or a normal file system check and has to be explicitly initiated and confirmed by the administrator.

Nevertheless it is recommended not to store ReiserFS v3 images on a ReiserFS v3 partition (e.g. backups or disk images for emulators) without transforming them (e.g., by compressing or encrypting) in order to avoid misleading the filesystem. Reformatting an existing ReiserFS v3 partition can also leave behind data that could confuse the rebuild operation and make files from the old system reappear. This also allows malicious users to intentionally store files that will confuse the rebuilder. As the metadata is always in a consistent state after a file system check, "corruption" here means that contents of files are merged in unexpected ways with the contained file system's metadata. The ReiserFS successor, Reiser4, fixes this problem.

Earlier issues

ReiserFS in versions of the Linux kernel before 2.4.16 were considered unstable by Namesys and not recommended for production use, especially in conjunction with NFS. [ [http://namesys.com/download.html ReiserFS download page] , see warning. Retrieved 5. July 2006]

Early implementations of ReiserFS (prior to that in Linux 2.6.2) were also susceptible to out-of-order write hazards. For example, files being appended to during a crash gained a tail of garbage upon next mount.Fact|date=February 2007 But the current journaling implementation in ReiserFS is now on par with that of ext3's "ordered" journaling level.

Design

ReiserFS stores file metadata ("stat items"), directory entries ("directory items"), inode block lists ("indirect items"), and tails of files ("direct items") in a single, combined B+ tree keyed by a universal object ID. Disk blocks allocated to nodes of the tree are "formatted internal blocks". Blocks for leaf nodes (in which items are packed end-to-end) are "formatted leaf blocks". All other blocks are "unformatted blocks" containing file contents. Directory items with too many entries or indirect items which are too long to fit into a node spill over into the right leaf neighbour. Block allocation is tracked by free space bitmaps in fixed locations.

By contrast, ext2 and other Berkeley FFS-like file systems simply use a fixed formula for computing inode locations, hence limiting the number of files they may contain. [cite conference |author=Mingming Cao, Theodore Y. Ts'o, Badari Pulavarty, Suparna Bhattacharya |date=2005-07-26 |title=State of the Art: Where we are with the Ext3 file system |publisher=IBM Linux Technology Center |booktitle=2005 Linux Symposium |location=Ottawa, Canada |url=http://ext2.sourceforge.net/2005-ols/paper-html/node40.html |accessdate=2007-03-08 ] Most such file systems also store directories as simple lists of entries, which makes directory lookups and updates linear time operations and degrades performance on very large directories. The single B+ tree design in ReiserFS avoids both of these problems due to better scalability properties.

ee also

*Comparison of file systems
*Reiser4
*Namesys

Notes and references

External links

* [http://web.archive.org/web/20071024001500/http://www.namesys.com/ Namesys web site] (archived version from 2007 October)
*Theodore Ts'o [http://www.linuxmafia.com/faq/Filesystems/reiserfs.html critiques] the ReiserFS block journaling implementation
* [http://tzukanov.narod.ru/convertfs convertfs] , a utility which performs in-place conversion between any two file systems with sparse file support
*An overview of the ReiserFS [http://p-nand-q.com/download/rfstool/reiserfs_docs.html on-disk format]
*Florian Buchholz's [http://www.cerias.purdue.edu/homes/florian/reiser/reiserfs.php The structure of the Reiser file system] , a very detailed description of the ReiserFS disk structures.
* [http://forums.gentoo.org/viewtopic-p-3081971.html Gentoo Forum Link] - Discussion on ReiserFS fragmentation, including a script for measuring fragmentation and defragmenting files.
* [http://web.archive.org/web/20071024001500/http://www.namesys.com/whitepaper.html Reiser4 Future Vision]
*Windows utilities to access ReiserFS: [http://www.wolfsheep.com/index.php/Programming/RFSGUI RFSGUI] & [http://p-nand-q.com/e/reiserfs.html RFSTOOL]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • ReiserFS — Hersteller Namesys (Hans Reiser) Vollständige Bezeichnung Reiser File System Technische Umsetzung Verzeichnisse B⁺ Baum (ReiserFS 1 3) B* Baum (Reiser4) Dateien Bitm …   Deutsch Wikipedia

  • Reiserfs — Hersteller Namesys (Hans Reiser) Vollständige Bezeichnung Reiser File System Technische Umsetzung Verzeichnisse B⁺ Baum (ReiserFS 1 3) B* Baum (Reiser4) Dateien Bitm …   Deutsch Wikipedia

  • ReiserFS — Saltar a navegación, búsqueda ReiserFS Desarrollador Namesys Nombre completo ReiserFS Introducido 2001 (Linux 2.4.1) Identificador de la partición Apple UNIX SVR2 (Apple Partition Map) 0x83 (MBR) EBD0A0A …   Wikipedia Español

  • Reiserfs — Diffuseur de logiciel Hans Reiser Nom anglais Reiser File System Introduction (GNU/Linux) Identificateur de partition …   Wikipédia en Français

  • ReiserFS — Разработчик Namesys Файловая система ReiserFS Дата представления 2001 (Linux 2.4.1) Метка тома Apple UNIX SVR2 (Apple Partition Map) 0x83 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 (GPT) Структура С …   Википедия

  • ReiserFS — Développeur Hans Reiser Nom anglais Reiser File System Limitations Taille maximale de fichier 8 Tio/ environ 8 To Taille maximale de volume 16 Tio/ environ 16 To Fonctionnalités …   Wikipédia en Français

  • ReiserFS — es un sistema de archivos de propósito general, diseñado e implementado por un equipo de la empresa Namesys, liderado por Hans Reiser. Actualmente es soportado por Linux y existen planes de futuro para incluirlo en otros sistemas operativos.… …   Enciclopedia Universal

  • ReiserFS — I computerterminologi et filsystem, som hurtigt kan reparere sig selv efter for eksempel strømsvigt. Diske med ReiserFS må ikke være mere end 75% fyldte på grund af systemets design. Findes for eksempel hos styresystemet Linux …   Danske encyklopædi

  • Reiserfs — …   Википедия

  • Reiserfs — ● np. m. ►GESTFICH►LINUX système de fichiers dont la principale caractéristique est, entre autres, la journalisation. Il devrait être inclus dans le noyau Linux. http://www.namesys.com/res whol.shtmlDescription détaillée (en anglais) …   Dictionnaire d'informatique francophone

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”