fs.c void iunlockput(struct inode *ip)

トップページ
jupiteroak.hatenablog.com


fs.c
https://github.com/mit-pdos/xv6-public/blob/master/fs.c#L355

void
iunlockput(struct inode *ip)
{
  iunlock(ip);
  iput(ip);
}

iunlockput関数は、引数で渡されたiノードのスリープロックを解放し、iノードの参照回数をデクリメントします(iノードの参照回数が0になった場合は、iノードを未使用状態にします)。

引数 struct inode *ip
スリープロックを解放しiノードの参照回数をデクリメントさせたいiノード(inode構造体)のアドレスです。

処理の内容

 iunlock(ip);

iunlock関数を呼び出して、iノードのスリープロックを解放します。

iput(ip);

iput関数を呼び出して、iノードの参照回数をデクリメントします(参照回数が0になった場合は、iノードを未使用状態に戻します)。