diff options
author | rsc <rsc> | 2009-05-31 00:59:37 +0000 |
---|---|---|
committer | rsc <rsc> | 2009-05-31 00:59:37 +0000 |
commit | ba6cd8a685cdf86f308ba8c8cd1faa39adf86fa5 (patch) | |
tree | 4ba105d444cc4e0f541486879f76d354ddbd6aaf | |
parent | 030a47736fbb0febddce2647e5a80b98ca409695 (diff) | |
download | xv6-labs-ba6cd8a685cdf86f308ba8c8cd1faa39adf86fa5.tar.gz xv6-labs-ba6cd8a685cdf86f308ba8c8cd1faa39adf86fa5.tar.bz2 xv6-labs-ba6cd8a685cdf86f308ba8c8cd1faa39adf86fa5.zip |
drop NADDRS and INDIRECT; too many names
-rw-r--r-- | fs.c | 12 | ||||
-rw-r--r-- | fs.h | 6 | ||||
-rw-r--r-- | fsvar.h | 2 | ||||
-rw-r--r-- | mkfs.c | 8 |
4 files changed, 13 insertions, 15 deletions
@@ -335,10 +335,10 @@ bmap(struct inode *ip, uint bn, int alloc) if(bn < NINDIRECT){ // Load indirect block, allocating if necessary. - if((addr = ip->addrs[INDIRECT]) == 0){ + if((addr = ip->addrs[NDIRECT]) == 0){ if(!alloc) return -1; - ip->addrs[INDIRECT] = addr = balloc(ip->dev); + ip->addrs[NDIRECT] = addr = balloc(ip->dev); } bp = bread(ip->dev, addr); a = (uint*)bp->data; @@ -375,16 +375,16 @@ itrunc(struct inode *ip) } } - if(ip->addrs[INDIRECT]){ - bp = bread(ip->dev, ip->addrs[INDIRECT]); + if(ip->addrs[NDIRECT]){ + bp = bread(ip->dev, ip->addrs[NDIRECT]); a = (uint*)bp->data; for(j = 0; j < NINDIRECT; j++){ if(a[j]) bfree(ip->dev, a[j]); } brelse(bp); - bfree(ip->dev, ip->addrs[INDIRECT]); - ip->addrs[INDIRECT] = 0; + bfree(ip->dev, ip->addrs[NDIRECT]); + ip->addrs[NDIRECT] = 0; } ip->size = 0; @@ -15,11 +15,9 @@ struct superblock { uint ninodes; // Number of inodes. }; -#define NADDRS (NDIRECT+1) #define NDIRECT 12 -#define INDIRECT 12 #define NINDIRECT (BSIZE / sizeof(uint)) -#define MAXFILE (NDIRECT + NINDIRECT) +#define MAXFILE (NDIRECT + NINDIRECT) // On-disk inode structure struct dinode { @@ -28,7 +26,7 @@ struct dinode { short minor; // Minor device number (T_DEV only) short nlink; // Number of links to inode in file system uint size; // Size of file (bytes) - uint addrs[NADDRS]; // Data block addresses + uint addrs[NDIRECT+1]; // Data block addresses }; // Inodes per block. @@ -11,7 +11,7 @@ struct inode { short minor; short nlink; uint size; - uint addrs[NADDRS]; + uint addrs[NDIRECT+1]; }; #define I_BUSY 0x1 @@ -259,17 +259,17 @@ iappend(uint inum, void *xp, int n) } x = xint(din.addrs[fbn]); } else { - if(xint(din.addrs[INDIRECT]) == 0) { + if(xint(din.addrs[NDIRECT]) == 0) { // printf("allocate indirect block\n"); - din.addrs[INDIRECT] = xint(freeblock++); + din.addrs[NDIRECT] = xint(freeblock++); usedblocks++; } // printf("read indirect block\n"); - rsect(xint(din.addrs[INDIRECT]), (char*) indirect); + rsect(xint(din.addrs[NDIRECT]), (char*) indirect); if(indirect[fbn - NDIRECT] == 0) { indirect[fbn - NDIRECT] = xint(freeblock++); usedblocks++; - wsect(xint(din.addrs[INDIRECT]), (char*) indirect); + wsect(xint(din.addrs[NDIRECT]), (char*) indirect); } x = xint(indirect[fbn-NDIRECT]); } |