This commit is contained in:
rsc 2007-08-28 04:13:24 +00:00
parent a759b8a450
commit 3341e30f6e
4 changed files with 11 additions and 13 deletions

6
fs.c
View file

@ -205,7 +205,7 @@ ilock(struct inode *ip)
if(!(ip->flags & I_VALID)){
bp = bread(ip->dev, IBLOCK(ip->inum));
dip = &((struct dinode*)(bp->data))[ip->inum % IPB];
dip = (struct dinode*)bp->data + ip->inum%IPB;
ip->type = dip->type;
ip->major = dip->major;
ip->minor = dip->minor;
@ -275,7 +275,7 @@ ialloc(uint dev, short type)
readsb(dev, &sb);
for(inum = 1; inum < sb.ninodes; inum++) { // loop over inode blocks
bp = bread(dev, IBLOCK(inum));
dip = (struct dinode*)(bp->data) + inum%IPB;
dip = (struct dinode*)bp->data + inum%IPB;
if(dip->type == 0) { // a free inode
memset(dip, 0, sizeof(*dip));
dip->type = type;
@ -296,7 +296,7 @@ iupdate(struct inode *ip)
struct dinode *dip;
bp = bread(ip->dev, IBLOCK(ip->inum));
dip = (struct dinode*)(bp->data) + ip->inum%IPB;
dip = (struct dinode*)bp->data + ip->inum%IPB;
dip->type = ip->type;
dip->major = ip->major;
dip->minor = ip->minor;