* Copyright (c) 1980, 1986 The Regents of the University of California.
* %sccs.include.redist.c%
static char sccsid
[] = "@(#)pass4.c 5.10 (Berkeley) %G%";
register struct zlncnt
*zlnp
;
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 (zlnp
= zlnhead
; zlnp
; zlnp
= zlnp
->next
)
if (zlnp
->zlncnt
== inumber
) {
zlnp
->zlncnt
= zlnhead
->zlncnt
;
clri(&idesc
, "UNREF", 1);
clri(&idesc
, "UNREF", 1);
clri(&idesc
, "ZERO LENGTH", 1);
clri(&idesc
, "BAD/DUP", 1);
errexit("BAD STATE %d FOR INODE I=%d",
statemap
[inumber
], inumber
);
register struct inodesc
*idesc
;
register struct dups
*dlp
;
int nfrags
, res
= KEEPON
;
daddr_t blkno
= idesc
->id_blkno
;
for (nfrags
= idesc
->id_numfrags
; nfrags
> 0; blkno
++, nfrags
--) {
if (chkrange(blkno
, 1)) {
} else if (testbmap(blkno
)) {
for (dlp
= duplist
; dlp
; dlp
= dlp
->next
) {