}
// Look through buffer cache for sector on device dev.
-// If not found, allocate fresh block.
+// If not found, allocate a buffer.
// In either case, return B_BUSY buffer.
static struct buf*
bget(uint dev, uint sector)
{
acquire(&icache.lock);
if(ip->ref == 1 && (ip->flags & I_VALID) && ip->nlink == 0){
- // inode has no links: truncate and free inode.
+ // inode has no links and no other references: truncate and free inode.
if(ip->flags & I_BUSY)
panic("iput busy");
ip->flags |= I_BUSY;