当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

虚拟文件系统(VFS)简介:super block的synchronization


  unsigned char s_lock;
  struct wait_queue *s_wait;
  
  上面这两个字段是用来做super block的synchronization。s_lock记录着目前super block是否被锁住,如果是,其值为1,若不是,则为0。s_wait是一个wait queue的结构,被放到queue里行程将会进入sleep的状态,直到被叫醒为止。基本,如果要改变super block的内容,需要先呼叫lock_super()锁住super block以免产生race condition。改完之后则要呼叫unlock_super()将lock释放掉。而lock_super()跟unlock_super()就是利用这两个字段来做的。
  
相关内容
赞助商链接