1: /*
   2:  * Copyright (c) 1980 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  */
   6: 
   7: #ifndef lint
   8: static char sccsid[] = "@(#)pass3.c	5.1 (Berkeley) 6/5/85";
   9: #endif not lint
  10: 
  11: #include <sys/param.h>
  12: #include <sys/inode.h>
  13: #include <sys/fs.h>
  14: #include "fsck.h"
  15: 
  16: int pass2check();
  17: 
  18: pass3()
  19: {
  20:     register DINODE *dp;
  21:     struct inodesc idesc;
  22:     ino_t inumber, orphan;
  23:     int loopcnt;
  24: 
  25:     bzero((char *)&idesc, sizeof(struct inodesc));
  26:     idesc.id_type = DATA;
  27:     for (inumber = ROOTINO; inumber <= lastino; inumber++) {
  28:         if (statemap[inumber] == DSTATE) {
  29:             pathp = pathname;
  30:             *pathp++ = '?';
  31:             *pathp = '\0';
  32:             idesc.id_func = findino;
  33:             idesc.id_name = "..";
  34:             idesc.id_parent = inumber;
  35:             loopcnt = 0;
  36:             do {
  37:                 orphan = idesc.id_parent;
  38:                 if (orphan < ROOTINO || orphan > imax)
  39:                     break;
  40:                 dp = ginode(orphan);
  41:                 idesc.id_parent = 0;
  42:                 idesc.id_number = orphan;
  43:                 (void)ckinode(dp, &idesc);
  44:                 if (idesc.id_parent == 0)
  45:                     break;
  46:                 if (loopcnt >= sblock.fs_cstotal.cs_ndir)
  47:                     break;
  48:                 loopcnt++;
  49:             } while (statemap[idesc.id_parent] == DSTATE);
  50:             if (linkup(orphan, idesc.id_parent) == 1) {
  51:                 idesc.id_func = pass2check;
  52:                 idesc.id_number = lfdir;
  53:                 descend(&idesc, orphan);
  54:             }
  55:         }
  56:     }
  57: }

Defined functions

pass3 defined in line 18; used 1 times

Defined variables

sccsid defined in line 8; never used
Last modified: 1985-10-23
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 798
Valid CSS Valid XHTML 1.0 Strict