aufs不能进入内核的原因

[size=large]
aufs 是一个叫岡島的日本人开发的联合文件系统,用来把原本分离的两个文件系统联合在一起。Linux 下这样的文件系统还有不少,比如很早就有的 unionfs。aufs 最初也是参考 unionfs 而实现的。aufs 很早就被 Debian Linux 发行版所采用,因为它是一个内核驱动,并且在 squashfs 联用时功能特别强,所以我从来就没想过它其实一直是游离在 Linux 之外的。

联合文件系统听上去也不难,所以有很多开发者尝试过去开发,可一旦尝试就会发现在 Linux 系统上实现联合文件系统非常困难。有个类似的 union mount 的程序,作者 Henson 从 2004 年开始开发,到现在也将近10年了,但还没有正式发布。因为时间太长,Henson 一度放弃开发,最近似乎也要转行去做别的事了。Union mount 在 Linux 界被很多人推崇,因为这个东西太重要,Henson 说在转行前会彻底搞定它。

回到 aufs 的话题, 因为这个文件系统很好用,经过长时间的检验,它的稳定性、各种功能都非常不错,因此有很多业内人士建议岡島将 aufs 提交给 Linux 内核。岡島也希望让他的作品有更大的影响力,因为就目前来说,除了 Debian Linux 外,其它的 Linux 发行版往往是没有 aufs 驱动的。于是他做了很多工作,以提高代码的可阅读性,并精简了一些不必要的特性,使得 aufs 看上去更规范。和 aufs 提交给内核的,还有其它作者开发的类似的联合文件系统,如 unionfs,但是这些全被 Linus Torvalds 拒绝了,理由大概是,aufs 的代码写的太烂!而其它的么,嗯,Linus 大概只看好 union mount,所以对这些烂代码,就暂不考虑了!当然这只是我的猜测。不过似乎不是只有 Linus Torvalds 觉得他的代码烂,其他人似乎也这么觉得。

[img]http://dl2.iteye.com/upload/attachment/0091/9881/48297cd9-a5e4-31d3-8e59-488f0eb846b6.png[/img]

岡島不死心,这之后又日以继夜的对代码反复修改,也有不少人给 Linux 相关组织提出希望收录 aufs 的想法,然后这就象拉锯战一样,岡島不停的改不停的提交,Linus 不停地拒绝。岡島在论坛里记录最终 Linus 还是不同意 aufs 进入内核,他似乎绝望了,发贴说到,“好了,我们永远也不可能进入内核了,大家幸苦了,大家放弃吧~“之类的话。究竟是怎样的功能强大的烂代码,让我们不妨见识一下吧:

[align=center]
fs/aufs/super.c
[img]http://dl2.iteye.com/upload/attachment/0091/9873/363b3360-1ff4-3fca-acf5-12a11262c455.png[/img]

fs/aufs/i_op_ren.c
[img]http://dl2.iteye.com/upload/attachment/0091/9875/bea4fa9c-325d-3198-a79c-0b62e05d3831.png[/img]

fs/aufs/whout.c
[img]http://dl2.iteye.com/upload/attachment/0091/9877/b95094ad-eed7-3058-9160-ecc36194fbc6.png[/img]

aufs-tools: libau/rdu.c
[img]http://dl2.iteye.com/upload/attachment/0091/9885/d20f624d-b574-311e-bbcf-6792bf7a50f8.png[/img]
[/align]

怎么样? 觉得自己写的代码比岡島的要好的多的多的请举手?还是更烂呢?

尽管 aufs 的代码乱的一团糟,这一点也不影响它的强大,这也许是日本程序员特有的表现手法,就好像日本产品中很多无意义的排版,乱虽乱,但乱中有序。但是无法加入 Linux 内核或许预示着随着时间的推进,aufs 的光辉将逐渐暗淡下来,最终被 union mount 等其它更完美的实现所取代也不一定。作为结束语,想想有个英语更烂的日本,是不是觉得内心瞬间强大起来了呢?
[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值