count the size of holes as well as blocks
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 19 Apr 1994 10:10:31 +0000 (02:10 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 19 Apr 1994 10:10:31 +0000 (02:10 -0800)
SCCS-vsn: sbin/fsck/inode.c 8.4

usr/src/sbin/fsck/inode.c

index 572545e..b642341 100644 (file)
@@ -6,7 +6,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)inode.c    8.3 (Berkeley) %G%";
+static char sccsid[] = "@(#)inode.c    8.4 (Berkeley) %G%";
 #endif /* not lint */
 
 #include <sys/param.h>
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -119,17 +119,16 @@ iblock(idesc, ilevel, isize)
        for (ap = bp->b_un.b_indir; ap < aplim; ap++) {
                if (*ap) {
                        idesc->id_blkno = *ap;
        for (ap = bp->b_un.b_indir; ap < aplim; ap++) {
                if (*ap) {
                        idesc->id_blkno = *ap;
-                       if (ilevel == 0) {
+                       if (ilevel == 0)
                                n = (*func)(idesc);
                                n = (*func)(idesc);
-                       } else {
+                       else
                                n = iblock(idesc, ilevel, isize);
                                n = iblock(idesc, ilevel, isize);
-                               isize -= sizepb;
-                       }
                        if (n & STOP) {
                                bp->b_flags &= ~B_INUSE;
                                return (n);
                        }
                }
                        if (n & STOP) {
                                bp->b_flags &= ~B_INUSE;
                                return (n);
                        }
                }
+               isize -= sizepb;
        }
        bp->b_flags &= ~B_INUSE;
        return (KEEPON);
        }
        bp->b_flags &= ~B_INUSE;
        return (KEEPON);