commit c1a4592dd111d1c80c320d854d3a4a80d56d3adf from: rsc date: Thu Jun 15 05:16:59 2006 UTC more ext2 fixes commit - 9bbcb80d35f8868a90603368078f91ba56cfe0d3 commit + c1a4592dd111d1c80c320d854d3a4a80d56d3adf blob - ddd3d7b87d90290a7001c427c115aa53d3a28d05 blob + 87437f849749221813592e8de6b12c5548a8d6e2 --- src/libdiskfs/ext2.c +++ src/libdiskfs/ext2.c @@ -88,7 +88,8 @@ ext2blockread(Fsys *fsys, u64int vbno) Group *g; Block *gb; uchar *bits; - u32int bno, boff, bitpos; + u32int bno, boff, bitblock; + u64int bitpos; Ext2 *fs; fs = fsys->priv; @@ -112,10 +113,20 @@ ext2blockread(Fsys *fsys, u64int vbno) return nil; } /* + if(debug) + fprint(2, "ext2 group %d: bitblock=%ud inodebitblock=%ud inodeaddr=%ud freeblocks=%ud freeinodes=%ud useddirs=%ud\n", + (int)(bno/fs->blockspergroup), + g->bitblock, + g->inodebitblock, + g->inodeaddr, + g->freeblockscount, + g->freeinodescount, + g->useddirscount); if(debug) fprint(2, "group %d bitblock=%d...", bno/fs->blockspergroup, g->bitblock); */ - bitpos = (u64int)g->bitblock*fs->blocksize; + bitblock = g->bitblock; + bitpos = (u64int)bitblock*fs->blocksize; blockput(gb); if((bitb = diskread(fs->disk, fs->blocksize, bitpos)) == nil){ @@ -127,7 +138,12 @@ ext2blockread(Fsys *fsys, u64int vbno) boff = bno%fs->blockspergroup; if((bits[boff>>3] & (1<<(boff&7))) == 0){ if(debug) - fprint(2, "block %d not allocated...", bno); + fprint(2, "block %d not allocated in group %d: bitblock %d/%lld bits[%d] = %#x\n", + boff, bno/fs->blockspergroup, + (int)bitblock, + bitpos, + boff>>3, + bits[boff>>3]); blockput(bitb); return nil; }