From 241113985f7122c65345885dec02e008601ff7ef Mon Sep 17 00:00:00 2001 From: kaashoek Date: Wed, 9 Aug 2006 01:09:36 +0000 Subject: block bitmap balloc --- fs.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'fs.h') diff --git a/fs.h b/fs.h index 48a1c13..cce59fb 100644 --- a/fs.h +++ b/fs.h @@ -1,15 +1,16 @@ // on-disk file system format -// second sector +#define BSIZE 512 // block size + +// sector 1 (2nd sector) struct superblock{ - int nblocks; - int ninodes; + uint size; + uint nblocks; + uint ninodes; }; #define NDIRECT 13 -// inodes start at the third sector -// and blocks start at (ninodes * sizeof(dinode) + 511) / 512 struct dinode { short type; short major; @@ -23,7 +24,11 @@ struct dinode { #define T_FILE 2 #define T_DEV 3 -#define IPB (512 / sizeof(struct dinode)) +// sector 0 is unused, sector 1 is superblock, inodes start at sector 2 +#define IPB (BSIZE / sizeof(struct dinode)) +#define IBLOCK(inum) (inum / IPB + 2) // start of inode +#define BPB (BSIZE*8) +#define BBLOCK(b,ninodes) (b/BPB + (ninodes/IPB) + 3) // start of bitmap #define DIRSIZ 14 -- cgit v1.2.3