- 论坛徽章:
- 0
|
原帖由 塑料袋 于 2006-12-22 23:34 发表
__sync_one(....){
......
/* Set I_LOCK, reset I_DIRTY */ <-------Linus Torvalds写于1997年的注释,看上去貌似很多余吧?
dirty = inode->i_state & I_DIRTY;
inode->i_state |= I_LOCK; <-------就算是学过C语言的猪,也知道这两句的表面意思,但塑料袋却不懂
inode->i_state &= ~I_DIRTY; <-------Linus Torvalds先生的注释就是给他这种连猪都不如的人写的
spin_unlock(&inode_lock);
......
}
这些什么也不能说明,执行完这三条后,inode的状态,引用计数等,该怎么变还怎么变,无法预测。
只是因为I_Lock的设置,致使inode暂时无法改变它所在的lru链而已
所以__sync_one中,后来是refile_inode,而不是简单的把inode记做clean
我不知道你想说明什么?
我只知道我惹不起你,如果以后我不再回这个帖,就是我怕了你,认输了。
该怎么变还怎么变?大哥,__sync_one是带锁进入的我不主动spin_unlock,谁能获得这个inode的呀?你到底行不行啊! |
|