xref: /netbsd/sbin/fsck_lfs/vars.c (revision bf9ec67e)
1 /* $NetBSD: vars.c,v 1.5 2001/02/04 21:52:04 christos Exp $	 */
2 
3 #include <sys/param.h>
4 #include <sys/time.h>
5 #include <ufs/ufs/dinode.h>
6 #include <ufs/ufs/dir.h>
7 #include <sys/mount.h>		/* XXX */
8 #include <ufs/lfs/lfs.h>
9 #include "fsck.h"
10 
11 /* variables previously of file scope (from fsck.h) */
12 struct bufarea  bufhead;	/* head of list of other blks in filesys */
13 struct bufarea  sblk;		/* file system superblock */
14 struct bufarea  iblk;		/* ifile on-disk inode block */
15 struct bufarea *pdirbp;		/* current directory contents */
16 struct bufarea *pbp;		/* current inode block */
17 int             iinooff;	/* ifile inode offset in block of inodes */
18 
19 struct dups    *duplist;	/* head of dup list */
20 struct dups    *muldup;		/* end of unique duplicate dup block numbers */
21 
22 struct zlncnt  *zlnhead;	/* head of zero link count list */
23 
24 daddr_t		idaddr;		/* inode block containing ifile inode */
25 long            numdirs, listmax, inplast;
26 
27 long            dev_bsize;	/* computed value of DEV_BSIZE */
28 long            secsize;	/* actual disk sector size */
29 char            nflag;		/* assume a no response */
30 char            yflag;		/* assume a yes response */
31 int             bflag;		/* location of alternate super block */
32 int             debug;		/* output debugging info */
33 #ifdef DEBUG_IFILE
34 int             debug_ifile;	/* cat the ifile and exit */
35 #endif
36 int             cvtlevel;	/* convert to newer file system format */
37 int             doinglevel1;	/* converting to new cylinder group format */
38 int             doinglevel2;	/* converting to new inode format */
39 int             exitonfail;
40 int             newinofmt;	/* filesystem has new inode format */
41 int             preen;		/* just fix normal inconsistencies */
42 char            havesb;		/* superblock has been read */
43 char            skipclean;	/* skip clean file systems if preening */
44 int             fsmodified;	/* 1 => write done to file system */
45 int             fsreadfd;	/* file descriptor for reading file system */
46 int             fswritefd;	/* file descriptor for writing file system */
47 int             rerun;		/* rerun fsck.  Only used in non-preen mode */
48 
49 daddr_t         maxfsblock;	/* number of blocks in the file system */
50 #ifndef VERBOSE_BLOCKMAP
51 char           *blockmap;	/* ptr to primary blk allocation map */
52 #else
53 ino_t          *blockmap;
54 #endif
55 ino_t           maxino;		/* number of inodes in file system */
56 ino_t           lastino;	/* last inode in use */
57 char           *statemap;	/* ptr to inode state table */
58 char           *typemap;	/* ptr to inode type table */
59 int16_t        *lncntp;		/* ptr to link count table */
60 
61 ino_t           lfdir;		/* lost & found directory inode number */
62 char           *lfname;		/* lost & found directory name */
63 int             lfmode;		/* lost & found directory creation mode */
64 
65 daddr_t         n_blks;		/* number of blocks in use */
66 daddr_t         n_files;	/* number of files in use */
67 
68 struct dinode   zino;
69