a) the i-mode bitmap is missing bits 0 to 40, but
The first bit is for i-number 41, yes.
if(n >= 41) then to check if i-number n is allocated:
map[(n-41)/8] & (1 << ((n-41)%8)
if I read the bit ordering correctly.
b) the actual i-nodes 0 to 40 do exist, and
Almost, there is no i-number 0. The first one is i-number 1 which
starts at byte zero of block 2.
inode-block(n) = (n+31)/16
inode-offset(n) = 32 * ((n+31)%16)
c) the system can still "read i-node 7",
even if it can't allocate i-node 7.
sounds like it.
Let me know if that sounds right, or if I'm
off-base somewhere.
Sounds like you got it, except for the i-numbering starting at 1.
Warren
Tim Newsham
http://www.thenewsh.com/~newsham/