词条 | ReiserFS |
释义 |
|name = ReiserFS |full_name = ReiserFS |developer = Namesys |introduction_os = Linux 2.4.1 |introduction_date = 2001 |OS = Linux, ReactOS |partition_id = Apple_UNIX_SVR2 (Apple Partition Map) 0x83 (MBR) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT) |directory_struct = B+ tree |file_struct = Bitmap[1] |bad_blocks_struct = |max_filename_size = 4032 bytes, limited to 255 by Linux VFS |max_files_no = 232−3 (~4 billion)[2] |max_volume_size = 16 TiB[2] |max_file_size = 1 EiB (8 TiB on 32 bit systems)[2] |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 = 1 s |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 formerly designed and implemented by a team at Namesys led by Hans Reiser. ReiserFS is currently supported on Linux (without quota support) licensed as 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 is the default file system on the Elive, Xandros, Linspire, 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.[3] Namesys considered ReiserFS (now occasionally referred to as Reiser3) stable and feature-complete and, with the exception of security updates and critical bug fixes, ceased development on it to concentrate on its successor, Reiser4. Namesys went out of business in 2008 after Hans Reiser was convicted and sentenced to fifteen years to life in prison for the murder of his wife, Nina Reiser. Nevertheless, volunteers continue to work on the open source project.[4] FeaturesAt the time of its introduction, ReiserFS offered features that had not been available in existing Linux file systems:
PerformanceCompared 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 may[6] be faster. This was said{{By whom?|date=October 2016}} to be of great benefit in Usenet news spools, HTTP caches, mail delivery systems, and other applications where performance with small files is critical. However, in practice{{According to whom?|date=October 2016}} news spools use a feature called cycbuf, which holds articles in one large file; fast HTTP caches and several revision control systems use a similar approach, nullifying these performance advantages. For email servers, ReiserFS was problematic due to semantic problems explained below. Also, ReiserFS had a problem with very fast filesystem aging when compared to other filesystems — in several usage scenarios filesystem performance decreased dramatically with time.{{Citation needed|date=August 2014}} Before Linux 2.6.33,[7] ReiserFS heavily used the big kernel lock (BKL) — a global kernel-wide lock — which does not scale very well[8][9] for systems with multiple cores, as the critical code parts are only ever executed by one core at a time. HistoryDefault file system in SuSE Linux/openSUSEReiserFS was the default file system in SuSE Linux since version 6.4 (released in 2000),[10][11] until switching to ext3 in SUSE Linux Enterprise 10.2/openSUSE 11, announced in 2006.[12][13] Jeff Mahoney of SUSE wrote a post on 14 September 2006 proposing to move from ReiserFS to ext3 for the default installation file system.[8] Some reasons he mentioned were scalability, "performance problems with extended attributes and ACLs", "a small and shrinking development community", and that "Reiser4 is not an incremental update and requires a reformat, which is unreasonable for most people."[8] On October 4 he wrote a response comment on a blog in order to clear up some issues.[14] He wrote that his proposal for the switch was unrelated to Hans Reiser being under trial for murder.[15] Mahoney wrote he "was concerned that people would make a connection where none existed" and that "the timing is entirely coincidental and the motivation is unrelated."[14] CriticismSome 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[16] and Postfix[17]) if the machine halts before it has synchronized the disk.[18] 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, a "repacker" tool was planned for the next Reiser4 file system to deal with file fragmentation.[19] fsckThe tree rebuild process of ReiserFS's fsck has attracted much criticism by the *nix community: If the file system becomes so badly corrupted that its internal tree is unusable, performing a tree rebuild operation may further corrupt existing files or introduce new entries with unexpected contents,[20] 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. ReiserFS v3 images should not be stored 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 confusing the rebuild. 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 issuesReiserFS 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.[21] Early implementations of ReiserFS (prior to that in Linux 2.6.2) were also susceptible to out-of-order write hazards. But the current journaling implementation in ReiserFS is now on par with that of ext3's "ordered" journaling level. DesignReiserFS 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 of that time simply used a fixed formula for computing inode locations, hence limiting the number of files they may contain.[22] 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. See also
References1. ^{{citation | url = http://namesys.com/X0reiserfs.html#nodelayout | publisher = Namesys | title = Reiser FS node layout | deadurl = yes | archiveurl = https://web.archive.org/web/20060614084322/http://www.namesys.com/X0reiserfs.html#nodelayout | archivedate = 2006-06-14 | df = }} 2. ^1 2 {{citation | url = http://namesys.com/faq.html#reiserfsspecs | publisher = Namesys | title = FAQ | chapter = Reiser FS Specifications | deadurl = yes | archiveurl = https://web.archive.org/web/20060705190506/http://www.namesys.com/faq.html#reiserfsspecs | archivedate = 2006-07-05 | df = }} 3. ^{{cite news | first = Stephen |last=Shankland |title=Novell makes file storage software shift |url=http://www.cnet.com/news/novell-makes-file-storage-software-shift/ |work=Business Tech |publisher=cnet |date= 2006-10-16}}. 4. ^{{cite web | url=http://www.news.com/8301-13580_3-9851703-39.html | title=Namesys vanishes, but Reiser project lives on | work=CNet | date=January 16, 2008 | accessdate=2008-01-26 |first = Stephen | last = Shankland}} 5. ^{{cite web |url=http://www.namesys.com/v4/v4.html#BLOBs |title=Reiser4 is released! |accessdate=2006-07-15 |last=Reiser |first=Hans |deadurl=yes |archiveurl=https://web.archive.org/web/20071024001500/http://www.namesys.com/v4/v4.html#BLOBs |archivedate=2007-10-24 |df= }} 6. ^{{cite web |title=PHP Manual |url=http://php.net/manual/en/function.session-save-path.php |website=php.net |publisher=The PHP Group |accessdate=5 December 2018}} 7. ^{{cite web|url=https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ebc423238341b52912c7295b045a32477b33f0 |title=kill-the-BKL |publisher= git.kernel.org}} 8. ^1 2 {{cite web |author = Jeff Mahoney |url=http://article.gmane.org/gmane.linux.suse.opensuse.devel/4312 | date = 2006-09-14 | title = Proposal: Change in default fs for releases >= 10.2 | accessdate = 2009-08-23 | publisher = gmane.org }}. 9. ^discussion thread stored at gmane.org 10. ^{{Cite web|url=https://en.opensuse.org/Archive:SuSE_Linux_6.4|title=Archive:SuSE Linux 6.4|website=openSUSE wiki|language=en|access-date=2017-06-28}} 11. ^{{Cite web|url=https://www.novell.com/documentation/suse91/suselinux-adminguide/html/apas02.html#sec:filesystems.major.reiser|title=SUSE LINUX 9.1 Administration Guide: Major File Systems in Linux|website=Novell|access-date=2017-06-28}} 12. ^{{Cite news|url=https://www.cnet.com/news/novell-makes-file-storage-software-shift/|title=Novell makes file storage software shift|last=Shankland|first=Stephen|date=16 October 2006|work=CNET|language=en}} 13. ^{{Cite web|url=https://www.linux.com/news/novell-will-switch-reiserfs-ext3|title=Novell will switch from ReiserFS to ext3|last=Sharma|first=Mayank|date=12 October 2006|website=Linux.com|language=en}} 14. ^1 {{cite web|url=http://linux.wordpress.com/2006/09/27/suse-102-ditching-reiserfs-as-it-default-fs/#comment-28534|title=SUSE 10.2 Ditching ReiserFS as its’ default FS? (comment 29)|date=2006-10-04|publisher=linux.wordpress.com / archive.org|archiveurl=https://web.archive.org/web/20061109162537/http://linux.wordpress.com/2006/09/27/suse-102-ditching-reiserfs-as-it-default-fs/#comment-28534|archivedate=2006-11-09|accessdate=2009-08-23|author=comment by Jeff Mahoney}} 15. ^{{cite web|url=http://cbs5.com/topstories/local_story_256204954.html|title=Oakland Police Search Home Of Missing Woman's Ex|date=2006-09-14|publisher=cbs5.com / archive.org|archiveurl=https://web.archive.org/web/20061106173127/http://cbs5.com/topstories/local_story_256204954.html|author=CBS 5 / AP / BCN|archivedate=2006-11-06|accessdate=2009-08-23|deadurl=yes|df=}} 16. ^Daniel Robbins (2001), "Advanced file system implementor's guide". Retrieved 5. July 2006 17. ^Matthias Andree (2001), LKML post on Postfix synchronity assumptions. Retrieved 15. July 2006 18. ^NEOHAPSIS - Peace of Mind Through Integrity and Insight 19. ^Hans Reiser, Reiser4 design, repacker {{webarchive|url=https://web.archive.org/web/20071024001500/http://www.namesys.com/v4/v4.html |date=2007-10-24 }}. Retrieved 5. July 2006 20. ^Theodore Ts'o LKML post. Retrieved 5. July 2006 21. ^ReiserFS download page, see warning. Retrieved 5. July 2006 22. ^{{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 }} External links
3 : 2001 software|Disk file systems|File systems supported by the Linux kernel |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。