diff --git a/fs.c b/fs.c index c03d69b..46179d4 100644 --- a/fs.c +++ b/fs.c @@ -227,7 +227,7 @@ iunlock(struct inode *ip) panic("iunlock"); acquire(&icache.lock); - ip->flags = 0; + ip->flags &= ~I_BUSY; wakeup(ip); release(&icache.lock); } @@ -247,7 +247,7 @@ iput(struct inode *ip) ip->type = 0; iupdate(ip); acquire(&icache.lock); - ip->flags &= ~I_BUSY; + ip->flags = 0; wakeup(ip); } ip->ref--;