summaryrefslogtreecommitdiff
path: root/log.c
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2015-06-27 12:39:13 -0400
committerFrans Kaashoek <[email protected]>2015-06-27 12:39:13 -0400
commit8320d61be5613fb2875be859695752b1487fda20 (patch)
treef0a800145225ffcd97f805be47e5b41764504898 /log.c
parentde4af193c87b3a7fa8762ccaeb81a6addf168799 (diff)
downloadxv6-labs-8320d61be5613fb2875be859695752b1487fda20.tar.gz
xv6-labs-8320d61be5613fb2875be859695752b1487fda20.tar.bz2
xv6-labs-8320d61be5613fb2875be859695752b1487fda20.zip
Pick up where i left off in april:
- move log into metadata part of disk, so that marking that the log's blocks are in use falls out for free - superblock describes the whole disk (sizes and offets) - sizes and offsets are computed in one place (mkfs) and the rest of the code refers to the superblock for these values, instead of recomputing them.
Diffstat (limited to 'log.c')
-rw-r--r--log.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/log.c b/log.c
index 01aa580..12db8ca 100644
--- a/log.c
+++ b/log.c
@@ -50,17 +50,17 @@ static void recover_from_log(void);
static void commit();
void
-initlog(void)
+initlog(int dev)
{
if (sizeof(struct logheader) >= BSIZE)
panic("initlog: too big logheader");
struct superblock sb;
initlock(&log.lock, "log");
- readsb(ROOTDEV, &sb);
- log.start = sb.size - sb.nlog;
+ readsb(dev, &sb);
+ log.start = sb.logstart;
log.size = sb.nlog;
- log.dev = ROOTDEV;
+ log.dev = dev;
recover_from_log();
}