mark zero length directories as DCLEAR so that they will be questioned
[unix-history] / usr / src / sbin / fsck / pass1b.c
index 84f7c9b..20cdade 100644 (file)
@@ -1,10 +1,27 @@
+/*
+ * Copyright (c) 1980, 1986 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * 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.
+ */
+
 #ifndef lint
 #ifndef lint
-static char version[] = "@(#)pass1b.c  3.3 (Berkeley) %G%";
-#endif
+static char sccsid[] = "@(#)pass1b.c   5.6 (Berkeley) %G%";
+#endif /* not lint */
 
 #include <sys/param.h>
 
 #include <sys/param.h>
-#include <sys/inode.h>
-#include <sys/fs.h>
+#include <ufs/dinode.h>
+#include <ufs/fs.h>
 #include "fsck.h"
 
 int    pass1bcheck();
 #include "fsck.h"
 
 int    pass1bcheck();
@@ -13,7 +30,7 @@ static  struct dups *duphead;
 pass1b()
 {
        register int c, i;
 pass1b()
 {
        register int c, i;
-       register DINODE *dp;
+       register struct dinode *dp;
        struct inodesc idesc;
        ino_t inumber;
 
        struct inodesc idesc;
        ino_t inumber;
 
@@ -32,11 +49,9 @@ pass1b()
                        idesc.id_number = inumber;
                        if (statemap[inumber] != USTATE &&
                            (ckinode(dp, &idesc) & STOP))
                        idesc.id_number = inumber;
                        if (statemap[inumber] != USTATE &&
                            (ckinode(dp, &idesc) & STOP))
-                               goto out1b;
+                               return;
                }
        }
                }
        }
-out1b:
-       flush(&dfile, &inoblk);
 }
 
 pass1bcheck(idesc)
 }
 
 pass1bcheck(idesc)
@@ -47,11 +62,11 @@ pass1bcheck(idesc)
        daddr_t blkno = idesc->id_blkno;
 
        for (nfrags = idesc->id_numfrags; nfrags > 0; blkno++, nfrags--) {
        daddr_t blkno = idesc->id_blkno;
 
        for (nfrags = idesc->id_numfrags; nfrags > 0; blkno++, nfrags--) {
-               if (outrange(blkno, 1))
+               if (chkrange(blkno, 1))
                        res = SKIP;
                for (dlp = duphead; dlp; dlp = dlp->next) {
                        if (dlp->dup == blkno) {
                        res = SKIP;
                for (dlp = duphead; dlp; dlp = dlp->next) {
                        if (dlp->dup == blkno) {
-                               blkerr(idesc->id_number, "DUP", blkno);
+                               blkerror(idesc->id_number, "DUP", blkno);
                                dlp->dup = duphead->dup;
                                duphead->dup = blkno;
                                duphead = duphead->next;
                                dlp->dup = duphead->dup;
                                duphead->dup = blkno;
                                duphead = duphead->next;