* Copyright (c) 1980, 1986 The Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
static char sccsid
[] = "@(#)pass1b.c 5.6 (Berkeley) %G%";
static struct dups
*duphead
;
register struct dinode
*dp
;
bzero((char *)&idesc
, sizeof(struct inodesc
));
idesc
.id_func
= pass1bcheck
;
for (c
= 0; c
< sblock
.fs_ncg
; c
++) {
for (i
= 0; i
< sblock
.fs_ipg
; i
++, inumber
++) {
idesc
.id_number
= inumber
;
if (statemap
[inumber
] != USTATE
&&
(ckinode(dp
, &idesc
) & STOP
))
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
--) {
for (dlp
= duphead
; dlp
; dlp
= dlp
->next
) {
blkerror(idesc
->id_number
, "DUP", blkno
);
if (muldup
== 0 || duphead
== muldup
->next
)