xv6

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit ba6cd8a685cdf86f308ba8c8cd1faa39adf86fa5
parent 030a47736fbb0febddce2647e5a80b98ca409695
Author: rsc <rsc>
Date:   Sun, 31 May 2009 00:59:37 +0000

drop NADDRS and INDIRECT; too many names

Diffstat:
Mfs.c | 12++++++------
Mfs.h | 6++----
Mfsvar.h | 2+-
Mmkfs.c | 8++++----
4 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/fs.c b/fs.c @@ -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; diff --git a/fs.h b/fs.h @@ -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. diff --git a/fsvar.h b/fsvar.h @@ -11,7 +11,7 @@ struct inode { short minor; short nlink; uint size; - uint addrs[NADDRS]; + uint addrs[NDIRECT+1]; }; #define I_BUSY 0x1 diff --git a/mkfs.c b/mkfs.c @@ -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]); }