summaryrefslogtreecommitdiff
path: root/mkfs.c
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2011-07-27 20:35:46 -0400
committerFrans Kaashoek <[email protected]>2011-07-27 20:35:46 -0400
commit13a96baefc0ff5d8262c4bc8c797bee4b157443c (patch)
treea84aa8ed35618f99c3d7e8cdd466d22ae7bad597 /mkfs.c
parent97657d703f7a92a088b400980c17249f34640a5e (diff)
downloadxv6-labs-13a96baefc0ff5d8262c4bc8c797bee4b157443c.tar.gz
xv6-labs-13a96baefc0ff5d8262c4bc8c797bee4b157443c.tar.bz2
xv6-labs-13a96baefc0ff5d8262c4bc8c797bee4b157443c.zip
Dirt simple logging
Passes usertests and stressfs Seems to recover correctly in a number of simple cases
Diffstat (limited to 'mkfs.c')
-rw-r--r--mkfs.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/mkfs.c b/mkfs.c
index 20b9649..f015edd 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -9,8 +9,10 @@
#include "types.h"
#include "fs.h"
#include "stat.h"
+#include "param.h"
-int nblocks = 995;
+int nblocks = 985;
+int nlog = LOGSIZE;
int ninodes = 200;
int size = 1024;
@@ -79,17 +81,18 @@ main(int argc, char *argv[])
sb.size = xint(size);
sb.nblocks = xint(nblocks); // so whole disk is size sectors
sb.ninodes = xint(ninodes);
+ sb.nlog = xint(nlog);
bitblocks = size/(512*8) + 1;
usedblocks = ninodes / IPB + 3 + bitblocks;
freeblock = usedblocks;
- printf("used %d (bit %d ninode %zu) free %u total %d\n", usedblocks,
- bitblocks, ninodes/IPB + 1, freeblock, nblocks+usedblocks);
+ printf("used %d (bit %d ninode %zu) free %u log %u total %d\n", usedblocks,
+ bitblocks, ninodes/IPB + 1, freeblock, nlog, nblocks+usedblocks+nlog);
- assert(nblocks + usedblocks == size);
+ assert(nblocks + usedblocks + nlog == size);
- for(i = 0; i < nblocks + usedblocks; i++)
+ for(i = 0; i < nblocks + usedblocks + nlog; i++)
wsect(i, zeroes);
memset(buf, 0, sizeof(buf));