最近一直在忙VFS for Windows项目的设计文档,所以对vfs有关的消息都很关注。在翻阅LWN时,就看到这篇题为《How to ruin Linus's vacation》的文章,实际上是针对一个复杂而又微妙的vfs bug的解决过程的总结,为求更好地理解整个过程,我特意翻阅了Linux kernel mailing-list上此thread所有的回复。
相关链接如下:
LWN: http://lwn.net/Articles/452117/
http://lwn.net/Articles/452118/
http://lwn.net/Articles/419811/
LKML: vfs: fix race in rcu lookup of pruned dentry
让人最感兴趣的不是问题本身,而是解决问题的过程。最早是Hugh提交了一个patch,但Linus对此并不满意,继尔他提出了自己的解决方案,然后Al Viro也加入混战并表达了自己的异议,同时也提交了他的patch。但在没找出根本原因之前,比较不同的解决办法的优劣是没有意义的。经过几轮的头脑风暴之后,最终将问题定位在__follow_mount_rcu()上。