From 2501560cd691fcdb9c310dccc14ac4e7486c99d9 Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Sun, 18 Aug 2019 14:35:11 -0400 Subject: 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. --- kernel/fs.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'kernel/fs.c') 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); -- cgit v1.2.3