关于Linux的do_filp_open函数的一个细节问题

在Linux 2.6的do_filp_open函数中,有这样两句:

 if ((namei_flags+1) & O_ACCMODE)
        namei_flags++;

关于这两句,在下能找到的注释只有
1.如果flags有O_WRONLY,则增加O_RDONLY

2.设置文件的标志,为何要重新设置?看英文注释,这是因为内部的标志和外部定义不 一致

这两种。

但这两种注释都不能让在下从原理上理解上面的代码。

究竟该怎样解读上面的代码?求路过的大神不吝赐教,在下不上感激,再次先行谢过!

http://blog.csdn.net/cpariconxin/article/details/24025155