From c1a4592dd111d1c80c320d854d3a4a80d56d3adf Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 15 Jun 2006 05:16:59 +0000 Subject: more ext2 fixes --- src/libdiskfs/ext2.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/libdiskfs/ext2.c') diff --git a/src/libdiskfs/ext2.c b/src/libdiskfs/ext2.c index ddd3d7b8..87437f84 100644 --- a/src/libdiskfs/ext2.c +++ b/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; } -- cgit v1.2.3