Reiser4

Last updated
Reiser4
Developer(s) Edward Shishkin and others [1]
Full nameReiser4
Introduced2004;20 years ago (2004) with Linux
Partition IDs Apple_UNIX_SVR2 (Apple Partition Map)

0x83 (MBR)

Basic data partition (GPT)
Structures
Directory contents Dancing B*-tree
Limits
Max file size8 TiB on x86
Max filename length3976 bytes
Allowed filename
characters
All bytes except NUL and '/'
Features
Dates recordedmodification (mtime), metadata change (ctime), access (atime)
Date range64-bit timestamps [2]
Forks No
File system
permissions
Unix permissions
Transparent
compression
Yes
Transparent
encryption
No
Data deduplication No
Other
Supported
operating systems
Linux
Website reiser4.wiki.kernel.org
Repository github.com/edward6/reiser4

Reiser4 is a computer file system, successor to the ReiserFS file system, developed from scratch by Namesys and sponsored by DARPA as well as Linspire. Reiser4 was named after its former lead developer Hans Reiser. As of 2021, the Reiser4 patch set is still being maintained, [3] [4] but according to Phoronix, it is unlikely to be merged into mainline Linux without corporate backing. [5]

Contents

Features

Some of the goals of the Reiser4 file system are:

Some of the more advanced Reiser4 features (such as user-defined transactions) are also not available because of a lack of a VFS API for them.

At present Reiser4 lacks a few standard file system features, such as an online repacker (similar to the defragmentation utilities provided with other file systems). The creators of Reiser4 say they will implement these later, or sooner if someone pays them to do so. [11]

Performance

Reiser4 uses B*-trees in conjunction with the dancing tree balancing approach, in which underpopulated nodes will not be merged until a flush to disk except under memory pressure or when a transaction completes. Such a system also allows Reiser4 to create files and directories without having to waste time and space through fixed blocks.

As of 2004, synthetic benchmarks performed by Namesys in 2003 show that Reiser4 is 10 to 15 times faster than its most serious competitor ext3 working on files smaller than 1 KiB. Namesys's benchmarks suggest it is typically twice the performance of ext3 for general-purpose filesystem usage patterns. [12] Other benchmarks from 2006 show results of Reiser4 being slower on many operations. [13] Benchmarks conducted in 2013 with Linux Kernel version 3.10 show that Reiser4 is considerably faster in various tests compared to in-kernel filesystems ext4, btrfs and XFS. [14]

Integration with Linux

Reiser4 has patches for Linux 2.6, 3.x, 4.x and 5.x., [15] [3] but as of 2019, Reiser4 has not been merged into the mainline Linux kernel [3] and consequently is still not supported on many Linux distributions; however, its predecessor ReiserFS v3 has been widely adopted. Reiser4 is also available from Andrew Morton's -mm kernel sources, and from the Zen patch set. The Linux kernel developers claim that Reiser4 does not follow the Linux "coding style" by the decision to use its own plugin system, [16] but Hans Reiser suggested the decision was made for political reasons. [17] The latest released Reiser4 kernel patches and tools can be downloaded from Reiser4 project page at sourceforge.net. [4]

History of Reiser4

Hans Reiser was convicted of murder on April 28, 2008, leaving the future of Reiser4 uncertain. After his arrest, employees of Namesys were assured they would continue to work and that the events would not slow down the software development in the immediate future. In order to afford increasing legal fees, Hans Reiser announced on December 21, 2006, that he was going to sell Namesys; [18] as of March 26, 2008, it had not been sold, although the website was unavailable. In January 2008, Edward Shishkin, an employee of and programmer for Namesys, was quoted in a CNET interview saying, "Commercial activity of Namesys has stopped." Shishkin and others continued the development of Reiser4, [19] making source code available from Shishkin's web site, [20] later relocated to kernel.org. [21] Since 2008, Namesys employees have received 100% of their sponsored funding from DARPA. [22] [23] [24]

In 2010, Phoronix wrote that Edward Shishkin was exploring options to get Reiser4 merged into Linux kernel mainline. [25] As of 2019, the file system is still being updated for new kernel releases, but has not been submitted for merging. [3] In 2015, Michael Larabel mentioned it is unlikely to happen without corporate backing, [26] and then he suggested in April 2019 that the main obstacle could be the renaming of Reiser4 to avoid reference to the initial author who was convicted of murder. [3]

Shishkin announced a Reiser5 filesystem on December 31, 2019. [27]

See also

Related Research Articles

XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its default file system.

ReiserFS is a general-purpose, journaling file system initially designed and implemented by a team at Namesys led by Hans Reiser and licensed under GPLv2. 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 was the default file system in Novell's SUSE Linux Enterprise until Novell decided to move to ext3 for future releases on October 12, 2006.

ext2, or second extended file system, is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same principles as the Berkeley Fast File System from BSD, it was the first commercial-grade filesystem for Linux.

ext3, or third extended filesystem, is a journaled file system that is commonly used by the Linux kernel. It used to be the default file system for many popular Linux distributions. Stephen Tweedie first revealed that he was working on extending ext2 in Journaling the Linux ext2fs Filesystem in a 1998 paper, and later in a February 1999 kernel mailing list posting. The filesystem was merged with the mainline Linux kernel in November 2001 from 2.4.15 onward. Its main advantage over ext2 is journaling, which improves reliability and eliminates the need to check the file system after an unclean shutdown. Its successor is ext4.

Journaled File System (JFS) is a 64-bit journaling file system created by IBM. There are versions for AIX, OS/2, eComStation, ArcaOS and Linux operating systems. The latter is available as free software under the terms of the GNU General Public License (GPL). HP-UX has another, different filesystem named JFS that is actually an OEM version of Veritas Software's VxFS.

<span class="mw-page-title-main">Hans Reiser</span> American computer programmer, entrepreneur, and convicted murderer

Hans Thomas Reiser is an American computer programmer, entrepreneur, and convicted murderer. In April 2008, Reiser was convicted of the first-degree murder of his wife, Nina Reiser, who disappeared in September 2006. He subsequently pleaded guilty to a reduced charge of second-degree murder, as part of a settlement agreement that included disclosing the location of Nina Reiser's body, which he revealed to be in a shallow grave near the couple's home.

Namesys was a California corporation responsible for the design and implementation of the ReiserFS and Reiser4 filesystems. It has been inactive since late 2007 and, as of 2010, is listed with the State of California with a status of "Suspended". Owned by Hans Reiser, Namesys was based in Oakland, California and also operated in Russia. The company also provided support for Linux systems.

The following tables compare general and technical information for a number of file systems.

ext4 is a journaling file system for Linux, developed as the successor to ext3.

chattr is the command in Linux that allows a user to set certain attributes of a file. lsattr is the command that displays the attributes of a file.

JBD, or journaling block device, is a generic block device journaling layer in the Linux kernel written by Stephen Tweedie from Red Hat. JBD is filesystem-independent. ext3, ext4 and OCFS2 are known to use JBD.

Btrfs is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager, developed together. It was created by Chris Mason in 2007 for use in Linux, and since November 2013, the file system's on-disk format has been declared stable in the Linux kernel.

<span class="mw-page-title-main">Linux kernel</span> Free Unix-like operating system kernel

The Linux kernel is a free and open source, UNIX-like kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the kernel for the GNU operating system (OS) which was created to be a free replacement for Unix. Since the late 1990s, it has been included in many operating system distributions, many of which are called Linux. One such Linux kernel operating system is Android which is used in many mobile and embedded devices.

In the Linux kernel, kernfs is a set of functions that contain the functionality required for creating the pseudo file systems used internally by various kernel subsystems so that they may use virtual files. For example, sysfs provides a set of virtual files by exporting information about hardware devices and associated device drivers from the kernel's device model to user space.

Bcachefs is a copy-on-write (COW) file system for Linux-based operating systems. Its primary developer, Kent Overstreet, first announced it in 2015, and it was added to the Linux kernel beginning with 6.7. It is intended to compete with the modern features of ZFS or Btrfs, and the speed and performance of ext4 or XFS.

EROFS is a lightweight read-only file system initially developed by Huawei, originally for the Linux kernel and now maintained by an open-source community from all over the world.

This article documents the version history of the Linux kernel.

<span class="mw-page-title-main">Rust for Linux</span> Project for adding Rust language to the Linux kernel

Rust for Linux is an ongoing project started in 2020 to add Rust as a programming language that can be used within the Linux kernel software, which has been written using C and assembly only. This project aims to leverage Rust's memory safety to reduce bugs when writing kernel drivers. Progress has been slower than hoped by both Rust advocates and Linus Torvalds, lead of the Linux kernel project. In December 2023 the first drivers written in Rust were accepted, and released in version 6.8.

References

  1. "Credits - Reiser4 FS Wiki". reiser4.wiki.kernel.org. Retrieved 2019-08-05.
  2. Documentation/filesystems/reiser4.txt from a reiser4-patched kernel source, "By default file in reiser4 have 64-bit timestamps."
  3. 1 2 3 4 5 Larabel, Michael (2019-04-13). "Reiser4 Brought To The Linux 5.0 Kernel - Phoronix". Phoronix . Retrieved 2019-08-04.
  4. 1 2 http://reiser4.sourceforge.net/
  5. "Ten Features You Will Not Find in the Mainline Linux 4.10 Kernel - Phoronix".
  6. "Reiser4 transaction models". Reiser4 wiki.
  7. "Reiser4 checksums". Reiser4 wiki.
  8. "Reiser4 Mirrors and Failover". Reiser4 wiki.
  9. "Precise Discard". Reiser4 wiki.
  10. "Reiser4 discard support". Reiser4 wiki.
  11. Reiser, Hans (2004-09-16). "Re: Benchmark: ext3 vs reiser4 and effects of fragmentation". Namesys, ReiserFS mailing list. Retrieved 2009-10-03.
  12. Hans Reiser (November 20, 2003). "Benchmarks Of ReiserFS Version 4". Namesys. Archived from the original on September 29, 2007. Retrieved 2014-01-18.
  13. Justin Piszcz (January 2006). "Benchmarking Filesystems Part II" . Retrieved 2006-04-23.
  14. Michael Larabel (July 31, 2013). "Reiser4 File-System Shows Decent Performance On Linux 3.10". Phoronix. Retrieved 2013-07-31.
  15. "Reiser4 file system for Linux OS - Browse Files at SourceForge.net". sourceforge.net. Retrieved 2019-08-04.
  16. "Linux: Why Reiser4 Is Not in the Kernel". Kerneltrap. September 19, 2005. Archived from the original on 2007-04-23.
  17. Reiser, Hans (21 July 2006). "The "'official' point of view" expressed by kernelnewbies.org regarding reiser4 inclusion" . Retrieved 2008-03-01.
  18. "Murder Suspect Selling Namesys". Wired News. 2006-12-21. Retrieved 2006-12-30.
  19. Namesys vanishes, but ReiserFS project lives on. http://www.news.com/8301-13580_3-9851703-39.html Archived 2008-09-05 at the Wayback Machine CNet (January 16, 2008). Retrieved on 2008-01-26.
  20. "Namesys things". Chichkin_i.zelnet.ru. Archived from the original on 2010-03-24. Retrieved 2010-02-08.
  21. New location of Namesys software Linux Kernel Mailing List post, 2008-08-04
  22. "Re: we got the DARPA grant to add views to Reiser4". Mail-archive.com. 2004-04-10. Retrieved 2010-02-08.
  23. "Bug 114785 – reiserfs won't mount with usrquota option". Red Hat Bugzilla.
  24. "Reports - ext3 or ReiserFS? Hans Reiser Says Red Hat's Move Is Understandable - Red Hat's Decision is Conservative, Not Radical". LinuxPlanet. Retrieved 2010-02-08.
  25. "Reiser4 May Go For Mainline Inclusion In 2010". Phoronix. 2009-11-10. Retrieved 2010-02-08.
  26. Michael Larabel (23 February 2015). "KDBUS & Other Features You Won't Find In The Linux 4.0 Kernel". Phoronix .
  27. "[ANNOUNCE] Reiser5 (Format Release 5.X.Y)". Linux Weekly News. 2019-12-31.