バッファ操作 - rb_is_head_page()
概要
バッファがHead Pageか確認する
詳細
この関数では以下の引数を取得する
- struct buffer_page構造体のポインタ : page
- struct list_head構造体のポインタ : list
listのnextメンバの値をRB_FLAG_MASKを反転した値でマスクした値とpageのlistメンバの値が一致するか比較し、一致した場合はRB_PAGE_MOVEDを一致しなかった場合はlistのnextメンバをRB_FLAG_MASKでマスクして算出される下位2bitの値を返す
従って、一致しなかった場合か一致しているが下位2bitに何らかの値を持っている場合にHead Pageと判断する