diff options
author | Frans Kaashoek <[email protected]> | 2015-06-27 12:39:13 -0400 |
---|---|---|
committer | Frans Kaashoek <[email protected]> | 2015-06-27 12:39:13 -0400 |
commit | 8320d61be5613fb2875be859695752b1487fda20 (patch) | |
tree | f0a800145225ffcd97f805be47e5b41764504898 /log.c | |
parent | de4af193c87b3a7fa8762ccaeb81a6addf168799 (diff) | |
download | xv6-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.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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(); } |