From 6670d3b5e084d9d900d2ea13e624e72e1e28f84c Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Sun, 11 Sep 2016 17:24:04 -0400 Subject: Straight replacement of B_BUSY with a sleeping lock. --- fs.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'fs.c') diff --git a/fs.c b/fs.c index 6887dbc..26a0b3e 100644 --- a/fs.c +++ b/fs.c @@ -16,6 +16,7 @@ #include "mmu.h" #include "proc.h" #include "spinlock.h" +#include "sleeplock.h" #include "fs.h" #include "buf.h" #include "file.h" @@ -167,7 +168,7 @@ iinit(int dev) initlock(&icache.lock, "icache"); readsb(dev, &sb); cprintf("sb: size %d nblocks %d ninodes %d nlog %d logstart %d\ - inodestart %d bmap start %d\n", sb.size, sb.nblocks, + inodestart %d bmap start %d\n", sb.size, sb.nblocks, sb.ninodes, sb.nlog, sb.logstart, sb.inodestart, sb.bmapstart); } @@ -455,6 +456,13 @@ readi(struct inode *ip, char *dst, uint off, uint n) for(tot=0; totdev, bmap(ip, off/BSIZE)); m = min(n - tot, BSIZE - off%BSIZE); + /* + cprintf("data off %d:\n", off); + for (int j = 0; j < min(m, 10); j++) { + cprintf("%x ", bp->data[off%BSIZE+j]); + } + cprintf("\n"); + */ memmove(dst, bp->data + off%BSIZE, m); brelse(bp); } -- cgit v1.2.3