diff options
author | Frans Kaashoek <[email protected]> | 2019-08-18 14:35:11 -0400 |
---|---|---|
committer | Frans Kaashoek <[email protected]> | 2019-08-18 14:35:11 -0400 |
commit | 2501560cd691fcdb9c310dccc14ac4e7486c99d9 (patch) | |
tree | 2bbda111baaeda8c4b8363422b8e9f39910177e6 /kernel/fs.c | |
parent | a9953236cc9f1befb625575671bc39f1ab254bf0 (diff) | |
download | xv6-labs-2501560cd691fcdb9c310dccc14ac4e7486c99d9.tar.gz xv6-labs-2501560cd691fcdb9c310dccc14ac4e7486c99d9.tar.bz2 xv6-labs-2501560cd691fcdb9c310dccc14ac4e7486c99d9.zip |
Cosmetic cleanup: fsinit reads sb and calls loginit. initialize icache
in main.c and don't make it disk specific; the icache is shared. This
doesn't matter since we have only one disk, but conceptually cleaner
and maybe helpful to students for mount lab.
Diffstat (limited to 'kernel/fs.c')
-rw-r--r-- | kernel/fs.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/kernel/fs.c b/kernel/fs.c index 98284e8..3a74c1f 100644 --- a/kernel/fs.c +++ b/kernel/fs.c @@ -28,7 +28,7 @@ static void itrunc(struct inode*); struct superblock sb; // Read the super block. -void +static void readsb(int dev, struct superblock *sb) { struct buf *bp; @@ -38,6 +38,15 @@ readsb(int dev, struct superblock *sb) brelse(bp); } +// Init fs +void +fsinit(int dev) { + readsb(dev, &sb); + if(sb.magic != FSMAGIC) + panic("invalid file system"); + initlog(dev, &sb); +} + // Zero a block. static void bzero(int dev, int bno) @@ -170,7 +179,7 @@ struct { } icache; void -iinit(int dev) +iinit() { int i = 0; @@ -178,10 +187,6 @@ iinit(int dev) for(i = 0; i < NINODE; i++) { initsleeplock(&icache.inode[i].lock, "inode"); } - - readsb(dev, &sb); - if(sb.magic != FSMAGIC) - panic("invalid file system"); } static struct inode* iget(uint dev, uint inum); |