Why Reiser4 is not in the Linux Kernel
ʤ Reiser4 Linux ͥ˴ޤޤƤʤΤ

---


ʸǤϡLinus Torvalds ᤬ȯݼ餷Ƥ륪ꥸʥ Linux 
  ͥλ͡ (Vanilla, baseline, mainline, main tree ) ɽ
  ҤƤޤǤϡ鿴Ԥˤ򤷰פ褦
  Linux ͥפɽޤ
  ֥ѥå줿ͥס֥ǥȥӥ塼Υͥפ
  Υꥸʥ Linux ̣ͥޤ

Reiser4 Ȥ Reiser Filesystem version 4 ̣ޤ
  Linux ͥС 2.4.1 ɸǴޤޤ Reiser Filesystem
  version 3 θѤǡɤ줿եȡץ饰ˤ뵡
  ǽĥħȤƤޤ̤ Linux ͥ˴ޤޤƤޤ
  Reiser Filesystem κԤ Hans Reiser ᡢν°Ҥ 
  Namesys ҤǤ

---

Contents
ܼ

 1. Why Reiser4 is not in the Linux Kernel
    ʤ Reiser4 Linux ͥ˴ޤޤƤʤΤ

 2. Contents
    ܼ

 3. Introduction
    Ƴ

 4. FAQ and Frequently Given Answers
    ФФ줿䤤

    1. Q1."But just include it as experimental code regardless of
           everything, Namesys programmers will fix all the problems
           eventually!"
           
       Q1.֤Ǥ⡢Ǥ⤤餿 Reiser4 ¸ɤȤ (Linux 
	    ͥ) ޤƤNamesys ҤΥץޡ
	    Ƥդޤ

    2. Q2. "But by not including Reiser4, you aren't allowing Reiser4
	    to be tested and it will never get into a decent shape!"

       Q2.֤Ǥ⡢Reiser4  (Linux ͥ) ޤޤʤȤˤäơ
	    ʤ Reiser4 ƥȤΤĤƤޤ󤷡
	    ǤϷ褷 Reiser4 ٤Ѥˤʤޤ󡪡

    3. Q3. "Kernel developers hate Hans Reiser, that's why they
	    haven't merged Reiser 4"
       Q3.֥ͥ볫ȯԤ Hans Reiser ᤬ǡ줬 Reiser4 
	    ΥޡʤͳǤ

    4. Q4. "I've been using it for years and it rocks, how can't it be ready?"
       Q4.ֻĹ Reiser4 ȤäƤꡢReiser4 ϷϴǤ
            Reiser4 ϽǤƤȤϸޤ󤫡

Introduction
Ϥ

"Why Reiser4 Is Not Merged" is a widespread question around forums,
Slashdot, OSNews and wherever else Linux-related new appears on the
web. The flame-wars on this topic have gotten to the "mine is bigger
than yours" level. Hence, it's not easy to see where the real problem
lies. This document tries to make clear the "official" point of view
of Linux developers on this matter.

֤ʤ Reiser4  (Linuxͥ) ޡʤΤפȤϡƼե
ࡢSlashdotOSNews 䤽¾ Linux Ϣοʪ Web ˷Ǻܤ
ʤɡǹԤǤ
ϡ֤Τ겶ǥץ٥ (1) ˤɤ
ޤ
椨Ϥɤˤ뤫򤹤ΤưפǤϤޤ
ʸϡˤ Linux ȯãΡָʡ׻餫ˤ
褦ȤΤǤ

1Υ٥Ȥ

It's shocking to read some people who believe that the main reason why
Reiser4 is not in the Vanilla Kernel are "political disputes instead
of technical merits". The circular reasoning behind this seems to
"Reiser4 is fast/it has plugins so it can/should/must be included
NOW. If you don't agree with me, then you must have an irrational
hatred against Reiser4, because I'm so obviously right".

Reiser4  Linux ͥ˴ޤޤƤʤͳֵŪǤϤ
ŪפǤȿƤο͡򸫤ΤϥåǤ
θν۴ˡ (2) ϡReiser4 Ϲ®ץ饰󵡹Τǡ
Reiser4 ¨ (Linux ͥ) ޤޤ줿ɤޤޤ٤Ǥ롿
ޤޤʤФʤʤ
⤷Ʊդʤʤ顢ʤ Reiser4 ФԹʷ
˰㤤ʤʤʤ餫פǤ

2ƼΤ˴ޤޤƤˡ
      (âʸϤ۴ˡˤϸޤ󤬡)

As usual, the world is not black or white, but grey. There is no
"opposition force" stopping Reiser4 from making it into the main Linux
tree. Reiser4 needs to attain a quality level high enough to be
included. It's disturbing to listen to people saying that Linux
Maintiners did not want to include a filesystems for political
reasons. Linux is the kernel that supports many filesystems from its
own sources. Linux even includes (being fair) a lot filesystems people
consider worthless. Linux supports filesystems that are rarely
used. e.g. 9p, BeFS, BFS, minixfs, ADFS, AFFS, EFS, HPFS, UFS, VXFS,
qnx4fs, sysvfs, ncpfs, codafs. There are several relevant filesystem
choices as well: ext3, XFS, JFS, JFFS and reiser3. Many people have
chosen these and are happy with them. Does that really sounds like a
group who would not merge a filesystem for political reasons? If
anything, Linux Developers look more like filesystem bitches.

̡򤫹ǤϤʤǤ
Reiser4  Linux ͥ˴ޤޤΤ˻ߤϡפϤޤ

Reiser4  (Linux ͥ) ޤޤΤ˽ʬʹ⤤ʼ٥ã
ɬפޤ
Ūͳ Linux ƥʡãե륷ƥޤߤʤȿ͡
äΤϲ䤫ʻǤϤޤ
Linux ϼȤΥɤˤ¿Υե륷ƥ򥵥ݡȤ륫
ͥǤ
ޤLinux Ͽ͡ΩʤȹͤƤ뤿Υե륷ƥ
Ǥ (ʿ) ޤǤޤ
Linux ϤۤȤɻȤʤե륷ƥ (㡧9pBeFSBFSminixfs
ADFSAFFSEFS HPFSUFSVXFSqnx4fssysvfsncpfscodafs) 
ݡȤޤ
ƱͤˡĤͭѤʥե륷ƥ (ext3XFSJFSJFFS
reiser3) 褬ޤ
¿ο͡Ϥӡ­Ƥޤ
ˡ(Linux ȯؤ) Ūͳǥե륷ƥޡʤ
롼פΤ褦˸ޤ
ʤ顢Linux ȯãϤäȥե륷ƥΥåΤ褦
˸Ǥ礦

Since the initial request to get Reiser4 merged, it hasn't been
declared ready by people who know. "It works for me on my PC" isn't
exactly the way engineers should make decisions. Of course, nobody
expects Reiser4 to be bug-free before getting merged. It must meet
with the design tenets and quality specifications laid out by the
existing maintainers. Writing a filesystem from scratch is not
easy. Reiser4 in particular is attempting to break a lot of new
ground. The Reiser4 authors chose that approach and it is expected
that it takes a lot of time and effort: they have consistently moved
forward since the first discussions of merging years ago. As for
today, thanks to all the work done by the Namesys people, Reiser4 is
growing near to inclusion in the main tree. It could possibly be ready
as soon as 2.6.19. Reiser4 have been working on this question for
two-plus years, so you can imagine what the state of readiness was
when it was initially submitted. Reiser 4 is a complex filesystem, and
it's taking Namesys some years to finish it. This is a good sign. In
every way this points to the future success of Reiser4. You can bet
that ZFS has been working for a long time before being included in
OpenSolaris.

ǽ Reiser4 ޡ褦׵ᤵư衢ͭԤˤäƤ줬
Ƥ줿Ϥޤ
ֻ PC  Reiser4 ưƤޤפϡѼԤ򲼤٤
ˡǤϤޤ
Reiser4 ޡ˥ХݤȤïפäƤ

Reiser4 ϴ¸Υƥʡˤäƥ쥤Ȥ줿߷ˤʼ
פʤФʤޤ
0 ե륷ƥ򵭽ҤΤϴñʻǤϤޤ
ä Reiser4 ¿οʬǤФȤƤޤ
Reiser4 κãϤΥץӡƤ¿λ֤Ϥ
פͽۤƤޤ
ޡ˴ؤ벿ǯκǽε衢ϰӤʤƤޤ
ǤϡNamesys Ҥˤ뤢ȤΤ (3) ǡ
Reiser4  Linux ͥؤΥޡ˶դƤޤ
ϡ餯 (Linux) 2.6.19 Ʊ餤˴뤫⤷ޤ
Reiser4  2ǯʾ (򥯥ꥢ뤿) ȤԤƤΤǡ
Reiser4 ǽ (4) 줿ݤδ٤ɤäǤ
Ǥ礦
Reiser4 ʣʥե륷ƥǤꡢ뤿 Namesys 
Ҥϲǯ⤫Ƥޤ
ɤǤ
ˤ衢 Reiser4 ξ򼨤Ƥޤ
ZFS  OpenSolaris ˴ޤޤĹֳȯƤϴְ㤤ʤ
Ǥ礦

3ŤˡHans Reiser ϤǤϤʤפȸΤȻפ롣
4Linux ؤΥޡ׵ᡣ̾Ϻʬѥåη Linux Kernel ML 
       Ƥ롣

So that's it: Things need to have a decent shape before being
included, and Reiser4 is not there yet. Many people in this process
have taken FUD against Linux to religious zealotry. This is not the
first time for difficult issues surrounding developers, maintainers
and the Kernel. Egos this large sometimes have disputes. Disputes like
Reiser4, and XFS before it, and the IDE layer in the 2.4.x days, don't
always create this situation. For instance, take OCFS2 and GFS. These
are clustering filesystems, OCFS2 made by Oracle and GFS comes from
RedHat. Both companies/groups have submitted their filesystems for
inclusion, but only OCFS2 is in today. GFS still needs some more work,
but once all the issues are settled down it will be included, just
like Reiser4 will.

ĤޤꡢǤ
Τ (Linux ͥ) ޤޤ뤿ˤŬڤʷˤʤɬפꡢ
Reiser4 ϤޤʤäƤޤ
Υץˤ¿ο͡ϡŪǮΤ Linux Ф 
FUD (5) 򤷤Ƥޤ
ϡȯԡƥʡͥ괬񤷤νƤΥ
ǤϤޤ
줰餤礭ʥˤϻ褬ޤ
Reiser4 (ˤ XFS2.4.x κ IDE 쥤䡼) Τ褦Ͼ
ˤξĤФǤϤޤ
Ȥ OCFS2  GFS 夲ޤ礦
ϥ饹󥰥ե륷ƥ (6) ǡOCFS2 ϥ饯
GFS  Red Hat  (7) Ǥ
(Linux ͥ) ޤ٤ˡξβҡ롼פϼȤΥե
륷ƥФޤǤ OCFS2 ޤƤ

GFS Ϥޤ⤦ȯȤɬפȤޤReiser4 Ʊ͡öƤ
꤬դ GFS  (Linux ͥ) ޤǤ礦

5FearUncertaintyDoubt (ݤ졢ΡԿ)ά졣ǥޤ뤤
       ϥǥޤ˶ᤤΤήƶο򲼤Υޡƥ
       ˡ
6ʣΥޥ󤫤ƱľܥޥȲǽʡüʥե륷
       ƥࡣ˥饹ƥǻѤ롣
7 Red Hat Ҥ Sistina Software Ҥʡ

Finally, before it can be merged Reiser4 code needs a review and
sign-off by some kernel developer who knows how a file system must
behave. This is an evolving standard and practice. It heavily affected
XFS, bringing tears and whining from a number of people. Many of the
same arguments for inclusion used on behalf Reiser4 were previously
used for XFS. Linux Devs and Maintainers wanted to see certain
qualities and changes in the XFS code. The XFS team at SGI plodded
along, and after much ado, Christoph Hellwig consented to perform a
final review. Some developers grew offended, some people got angry and
caustic. There are not a of these people who are trusted to do this
work. There are even less who are willing to do it. By the time that
Christoph took up the work, it was make or break. None of the other
Linux Devs were willing. Some even indicated that the job was all but
impossible.

ǽŪˡReiser4 ޡǽˤʤˡReiser4 ɤϥե륷
ƥΤ٤񤤤ΤäƤΥͥ볫ȯãˤӥ塼
Ƚ̾Ԥɬפޤ
ΥץϡȯŸɸȴǤ
 XFS ˽ʱƶڤܤο͡ޤȵ㤭Ͷޤ
Reiser4 ΥޡФƱ¿ XFS ǤԤޤ
Linux ȯãȥƥʡãϡXFS ɤˤʼѹ
ΤꤿäΤǤ
SGI Ҥ XFS ϤĤĤȼ¹Ԥ¿ưθ塢Christoph
Hellwig Ϻǽӥ塼򤹤뤳ȤƱդޤ
γȯԤʡίꡢοͤܤФޤ
ο͡ˤϡκȤѤͤޤǤ
ޤκȤʤǹԤͤۤȤɤޤǤ
Christoph ϤƤ顢κȤϿŸޤ
¾ Linux ȯԤϿʤǹԤȤϤޤǤ
οͤϡκȤԲǽʳβǤʤȤޤǤɽޤ

By the same token, there were Linux Devs and maintainers who did early
reviews of Reiser4 and were verbally abused by Namesys. Lots of people
have weighed-in for those messes. Some Maintainers are unwilling to
work with Reiser4 anymore. They don't oppose the filesystem. However,
someone else must review and sign off on it. Egos aside, this just
makes the process slow.

ƱͳǡReiser4 Υӥ塼ԤNamesys Ҥˤäͤ줿 
Linux ȯãȥƥʡãޤ
¿οãưޤ
ƥʡΰϡ⤦ Reiser4 κȤԤĤ꤬ޤ
ϡReiser4 ȿФޤ󤬡¾ï Reiser4 Υӥ塼Ԥ
̾ʤФʤޤ
Τ褦ˡϥޡȤ򤳤ʤ٤ޤ

FAQ and Frequently Given Answers
ФФ줿䤤

Q1. "But just include it as experimental code regardless of
everything, Namesys programmers will fix all the problems eventually!"

Q1.֤Ǥ⡢Ǥ⤤餿 Reiser4 ¸ɤȤ (Linux 
) ޤƤNamesys ҤΥץޡƤդ
ޤ

Well, no and yes. As said, nobody expects Reiser4 to be bug-free, but
there are some important issues that need to be fixed. The problem is
that the Namesys developer team is still working on the important
ones. Some of the issues fixed in the past included severe design
issues, BTW. Others are about being well integrated with Linux:
duplication of kernel's own functionality for no good reason,
etc. Every piece of code submitted needs to meet quality standards -
requesting developers to fix severe issues before getting it into the
main tree helps to have better code. If you ask people to fix those
issues "in the future", they may be lazy and so there may be critical
issues around all the time - this has happened with Linux in the
past. Quality is important, especially in a stable development
phase. Linux is already being criticized a lot for merging new
features during this stable phase - that criticism happens with the
current quality control. Imagine what would happen if Linux started to
merge things without caring a bit about what gets merged. Also,
consider how important Reiser4 is. It's a filesystem, once it gets
included in the kernel many people will use it and will depend on it
(your disk format is Reiser4): Linux needs to ensure that things don't
blow up everything.

No  Yes
ä̤ꡢReiser4 ˥ХʤȹͤƤͤϤޤ󤬡褹٤
Ĥνפ꤬ޤ
ʤΤϡNamesys Ҥγȯबνפ˺Ȥ
ȤȤǤ
Ȥǡʥǥޤ (Reiser4 ) Ĥϲ˽
ޤ
Ĥ (ʬͳΤʤ Linux ͥ뼫ΤȤεǽʣʤ) ˤ
Ƥϡ(Linux ) ޡȤʹǤ
Ф줿ɤƤʬʼŬ礹ɬפޤLinux 
ͥ륽ĥ꡼˼ޤˡ褦ȯ
׵᤹ϡɤɤ٤ɬפǤ
⤷ʤ־פο׵᤹ʤС
λˤϳȯԤƤΤޤ󤷡̿ŪˤʤäƤ뤫Τ
ޤĤϡ Linux ǵäǤ
ä˰ǤγȯʳǤϡʼϽפǤ
Linux ϾˡΰǤʳǿǽޡȽƤ
ޤĤȽϡߤʼǤⵯޤ
ޡΤˤĤƾιθʤ Linux ޡϤ
ʤС뤫Ƥ
ޤReiser4 ɤ줯餤פˤĤƹͤƤߤƤ
Reiser4 ϥե륷ƥǤꡢ٤줬ͥ˼ޤ줿ʤ
С¿οͤѤơ˰¸ˤʤޤ (ǥե
ޥåȤ Reiser4)Linux ϤεǽƤ᤭ȤФʤݾڤ
ɬפޤ

Q2. "But by not including Reiser4, you aren't allowing Reiser4 to be
tested and it will never get into a decent shape!"

Q2.֤Ǥ⡢Reiser4  (Linux ͥ) ޤޤʤȤˤäơ
 Reiser4 ƥȤΤĤƤޤ󤷡ǤϷ褷 
Reiser4 ٤Ѥˤʤޤ󡪡

Wrong. Read question #1 above. And we live in a Open Source
land. Nobody stops people from testing Reiser4 now, or including it in
the next Ubuntu/Fedora/whatever release. In fact, when Reiser4 is
included it will be merged as "experimental" code, and there's no real
difference between that and patching and compiling their own kernels,
it's just a psychological thing: people will think it's more stable
when it's included even if marked as experimental, for no real reason.

㤤ޤ
 Q1 ɤǤ
ƻãϥץ󥽡˽Ǥޤ
 Reiser4 ƥȤꡢ Ubuntu/Fedora/¾μ꡼
ޤͤߤͤϤޤ
ºݡReiser4 ޤޤϡּ¸ŪץɤȤƥޡޤ
ξ֤ȥǥȥӥ塼󼫿ȤΥѥåŬѡܥѥǥ
ͥȤδ֤˼ºݤΰ㤤Ϥʤñ˵Ȥˤʤޤ
ͳʤƤ⡢¸ŪȥޡƤƤ⤽줬ޤޤ줿˿ͤ
ꤷƤȻפǤ礦

BTW, in the kernel world it's a quite common practice to get a feature
into one or two distros before merging it into the baseline
kernel. Being included in distros is valued a lot by Linux
maintainers, because it gets a lot of real-world testing and bug
fixing. And that's something that doesn't really depend on kernel
developers - if a feature gets included in several distros, that means
that people want it and that you can check its quality in the
distributor's bug tracking systems. In the particular case of Reiser4,
Andrew Morton has even said that Uptake by a vendor or two would be
good. If you want to help Reiser4 to get developed faster, bug your
particular Linux distribution and ask them to include
it. Distributions can allow to merge unstable code (and they do that
with several drivers that are not in mainline, like ndiswrapper), but
it's not so easy for the kernel.

Ȥǡͥ볦ǤϡLinux ͥ˥ޡεǽ 12
Υǥȥӥ塼˺ѤϤ̤˹ԤƤ԰٤Ǥ
¿μ¥ƥȤȥХΤǡǥȥӥ塼˿
ǽޤޤ Linux ƥʡˤäƹ⤯ɾƤޤ
ơϥͥ볫ȯԤ˰¸ʤΤǤĵǽĤ
Υǥȥӥ塼˴ޤޤʤС͡˾ߡǥȥ
ӥ塼ΥХץƥǤʼåǤ̣ޤ
ä Reiser4 ǤϡAndrew Morton (8)  12 Υ٥ˤ 
Reiser4 μߤɤȤޤ
Reiser4 ο®ʳȯٱ礷ʤСʤ Linux ǥ
ӥ塼󥳥ߥ˥ƥ˻äơ Reiser4 ޤ褦
Ǥ
ǥȥӥ塼԰ꥳɤޡΤĤǤޤ (
 ndiswrapper (9) Τ褦 Linux ɤ˴ޤޤʤ
Υɥ饤ФǤƤޤ)Linux ͥǤϤñǤϤޤ

8Linux 2.6 Υᥤƥʡ
9Windows ѤΥͥåȥ󥿡եɥ饤Ф Linux ư
       ٤üʥɥ饤С

Q3. "Kernel developers hate Hans Reiser, that's why they haven't
merged Reiser 4"
Q3.֥ͥ볫ȯԤ Hans Reiser ᤬ǡ줬 Reiser4 Υޡ
ʤͳǤ

Well, no and yes. As said, there are the technical issues that are
stopping it, not anything else. Now, it is true that Hans Reiser has
not helped a lot to solve those issues. Telling Linux developers that
Reiser4 is stable enough and that it should get merged because they
would fix all the issues later does not help a lot (see question #1
above, Hans Reiser has been claiming that Reiser4 is ready for
years). It doesn't help either to mention how much VFS maintainers
hate you and how much smarter your coders are compared to them. It
doesn't help to say how closed-minded they are because they're asking
Reiser4 to disable some advanced Reiser4 features (features that
happen to clash with the VFS and that Reiser4 has ended up disabling
anyway). It doesn't help to mention repeatedly how Linux is doomed
against winfs because they're not allowing Reiser4 to be merged today
- despite that other people are free to disagree with Hans's
predictions - and how evil people are for asking him to fix bugs
instead of helping him to do "The Right Thing". It doesn't really help
to suggest to kernel developers that they should replace the Linux's
VFS with Reiser4's plugin layer just because Reiser4 is faster than
ext3.

No  Yes
ä̤ꡢޡȤߤޤäƤΤϵŪʳβʪǤ⤢

Hans Reiser β礷ƶϤʤä

Reiser4 ʬꤷƤꡢƽ뤫ޡ٤ 
Linux ȯԤ˸ϡ礷ˤϤʤޤ (嵭 Q1 ȡHans
Reiser ϲǯδ֡Reiser4 ƤȼĥƤޤ)
ʤ VFS ƥʡɤ¿Ӥ줿ʤ
ɺ (Reiser4 ȯã) ɤΤɤθ
ˤϤʤޤ
餬 Reiser4 Ūʵǽ̵褦׵ᤷȸ
ơ줬 Linux ƥʡãɤθҤ٤ˤϤ
ޤ (εǽ VFS ¤򾷤Reiser4 Ϸɤ̵
ޤ)
餬 Reiser4 ޡΤĤƤʤȸäơ
 Linux  WinFS Ʊᤷ̿򤿤ɤ뤫 (¾ͤ Hans ͽ
¬ƱդʤΤϼͳǤˤ⤫餺) Hans ȡפ
Τ˥Х׵᤹Τɤƻ
ˤϤʤޤ
ñ Reiser4  ext3 ®ȤͳǡLinux VFS  
Reiser4 Υץ饰ؤ֤٤Ǥȥͥ볫ȯԤƤ
٤νˤʤޤ

Attacking people when they disagree with you is not the right way of
talking within a Open Source community (or any community for that
matter), neither is it helpful to try to convince kernel developers to
merge Reiser4 talking to them with marketing speak. That however will
not stop Reiser4 from getting into the kernel, but it certainly makes
things more difficult. Some people have said that Hans is not the
right person to deal with the rest of the kernel community. I think
that almost everyone agrees. Reiser4 programmers are certainly more
friendly, and like most of normal programmers they focus on technical
discussions and they know to say "OK, you're Linux developers, so you
probably know better than me how a Linux filesystem must be written".

ͤʤƱդʤˤοͤ򹶷⤹ϡץ󥽡ߥ
˥ƥ (뤤ϤμΤɤʥߥ˥ƥǤ) ˤä礤
ˡǤϤޤ󤷡ޤĴ Reiser4  Reiser4 Υޡ
򥫡ͥ볫ȯԤǼˤʤޤ
 Reiser4 ͥ˼ޤΤߤϤޤ󤬡ʪ
ʣˤϤǤ礦
ο͡ϡHans ¾Υͥ륳ߥ˥ƥܤΤŬڤʿʹ֤
Ϥʤȸޤ
ϡۤȤƤοͤΰոƱդȻפޤ
Reiser4 ΥץޡãϳΤ Hans ϥեɥ꡼Ǥꡢ̾
ץޡãʬΤ褦ϵŪ˽椷ϡOK
ʤ Linux ȯԤ顢¿ʬ Linux Υե륷ƥबɤ
񤫤Ƥ٤ΤäƤϤפȸΤäƤޤ

Q4. "I've been using it for years and it rocks, how can't it be
ready?"

Q4.ֻĹ Reiser4 ȤäƤꡢReiser4 ϷϴǤReiser4 Ͻ
ǤƤȤϸޤ󤫡

You are not a kernel programmer, aren't you?
ʤϡͥץޡǤϤޤ͡

ǽ2006/7/19 6:50:59 by TobiasKlauser

Licensed under a Creative Commons Attribution 2.5 License
Creative Commons Attribution 2.5 License β˥饤󥹤Ƥޤ