static char version
[] = "@(#)pass4.c 3.1 (Berkeley) %G%";
register ino_t inumber
, *blp
;
bzero((char *)&idesc
, sizeof(struct inodesc
));
idesc
.id_func
= pass4check
;
for (inumber
= ROOTINO
; inumber
<= lastino
; inumber
++) {
idesc
.id_number
= inumber
;
switch (statemap
[inumber
]) {
adjust(&idesc
, (short)n
);
for (blp
= badlncnt
;blp
< badlnp
; blp
++)
clri(&idesc
, "UNREF", 1);
clri(&idesc
, "UNREF", 1);
clri(&idesc
, "BAD/DUP", 1);
if (imax
- ROOTINO
- n_files
!= sblock
.fs_cstotal
.cs_nifree
) {
pwarn("FREE INODE COUNT WRONG IN SUPERBLK");
if (preen
|| reply("FIX") == 1) {
sblock
.fs_cstotal
.cs_nifree
= imax
- ROOTINO
- n_files
;
register struct inodesc
*idesc
;
int nfrags
, res
= KEEPON
;
daddr_t blkno
= idesc
->id_blkno
;
for (nfrags
= idesc
->id_numfrags
; nfrags
> 0; blkno
++, nfrags
--) {
else if (getbmap(blkno
)) {
for (dlp
= duplist
; dlp
< enddup
; dlp
++)