summaryrefslogtreecommitdiff
path: root/kernel/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/fs.c')
-rw-r--r--kernel/fs.c17
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);