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()就是利用这两个字段来做的。