1*51186Sbostic /* 2*51186Sbostic * Copyright (c) 1989, 1991 The Regents of the University of California. 3*51186Sbostic * All rights reserved. 4*51186Sbostic * 5*51186Sbostic * %sccs.include.redist.c% 6*51186Sbostic * 7*51186Sbostic * @(#)lfs_debug.c 5.1 (Berkeley) 09/25/91 8*51186Sbostic */ 9*51186Sbostic 10*51186Sbostic #include "param.h" 11*51186Sbostic #include "namei.h" 12*51186Sbostic #include "vnode.h" 13*51186Sbostic #include "../ufs/quota.h" 14*51186Sbostic #include "../ufs/inode.h" 15*51186Sbostic #include "lfs.h" 16*51186Sbostic 17*51186Sbostic void 18*51186Sbostic dump_super(lfsp) 19*51186Sbostic LFS *lfsp; 20*51186Sbostic { 21*51186Sbostic int i; 22*51186Sbostic 23*51186Sbostic (void)printf("%s%lx\t%s%lx\t%s%d\t%s%d\n", 24*51186Sbostic "magic ", lfsp->lfs_magic, 25*51186Sbostic "version ", lfsp->lfs_version, 26*51186Sbostic "size ", lfsp->lfs_size, 27*51186Sbostic "ssize ", lfsp->lfs_ssize); 28*51186Sbostic (void)printf("%s%d\t%s%d\t%s%d\t%s%d\n", 29*51186Sbostic "dsize ", lfsp->lfs_dsize, 30*51186Sbostic "bsize ", lfsp->lfs_bsize, 31*51186Sbostic "fsize ", lfsp->lfs_fsize, 32*51186Sbostic "frag ", lfsp->lfs_frag); 33*51186Sbostic 34*51186Sbostic (void)printf("%s%d\t%s%d\t%s%d\t%s%d\n", 35*51186Sbostic "minfree ", lfsp->lfs_minfree, 36*51186Sbostic "inopb ", lfsp->lfs_inopb, 37*51186Sbostic "ifpb ", lfsp->lfs_ifpb, 38*51186Sbostic "nindir ", lfsp->lfs_nindir); 39*51186Sbostic 40*51186Sbostic (void)printf("%s%d\t%s%d\t%s%d\n", 41*51186Sbostic "nseg ", lfsp->lfs_nseg, 42*51186Sbostic "nspf ", lfsp->lfs_nspf, 43*51186Sbostic "segtabsz ", lfsp->lfs_segtabsz); 44*51186Sbostic 45*51186Sbostic (void)printf("%s%lx\t%s%d\t%s%lx\t%s%d\n", 46*51186Sbostic "segmask ", lfsp->lfs_segmask, 47*51186Sbostic "segshift ", lfsp->lfs_segshift, 48*51186Sbostic "bmask ", lfsp->lfs_bmask, 49*51186Sbostic "bshift ", lfsp->lfs_bshift); 50*51186Sbostic 51*51186Sbostic (void)printf("%s%lx\t%s%d\t%s%lx\t%s%d\n", 52*51186Sbostic "ffmask ", lfsp->lfs_ffmask, 53*51186Sbostic "ffshift ", lfsp->lfs_ffshift, 54*51186Sbostic "fbmask ", lfsp->lfs_fbmask, 55*51186Sbostic "fbshift ", lfsp->lfs_fbshift); 56*51186Sbostic 57*51186Sbostic (void)printf("%s%d\t%s%lx\n", 58*51186Sbostic "fsbtodb ", lfsp->lfs_fsbtodb, 59*51186Sbostic "cksum ", lfsp->lfs_cksum); 60*51186Sbostic 61*51186Sbostic (void)printf("Superblock disk addresses:"); 62*51186Sbostic for (i = 0; i < LFS_MAXNUMSB; i++) 63*51186Sbostic (void)printf(" %lx", lfsp->lfs_sboffs[i]); 64*51186Sbostic (void)printf("\n"); 65*51186Sbostic 66*51186Sbostic (void)printf("Checkpoint Info\n"); 67*51186Sbostic (void)printf("%s%d\t%s%lx\t%s%d\n", 68*51186Sbostic "free ", lfsp->lfs_free, 69*51186Sbostic "idaddr ", lfsp->lfs_idaddr, 70*51186Sbostic "ifile ", lfsp->lfs_ifile); 71*51186Sbostic (void)printf("%s%lx\t%s%d\t%s%lx\t%s%lx\n", 72*51186Sbostic "bfree ", lfsp->lfs_bfree, 73*51186Sbostic "nfiles ", lfsp->lfs_nfiles, 74*51186Sbostic "lastseg ", lfsp->lfs_lastseg, 75*51186Sbostic "nextseg ", lfsp->lfs_nextseg); 76*51186Sbostic (void)printf("tstamp %lx\n", lfsp->lfs_tstamp); 77*51186Sbostic } 78*51186Sbostic 79*51186Sbostic dump_dinode(dip) 80*51186Sbostic DINODE *dip; 81*51186Sbostic { 82*51186Sbostic int i; 83*51186Sbostic 84*51186Sbostic (void)printf("%s%d\t%s%d\t%s%d\t%s%d\t%s%d\n", 85*51186Sbostic "mode ", dip->di_mode, 86*51186Sbostic "nlink ", dip->di_nlink, 87*51186Sbostic "uid ", dip->di_uid, 88*51186Sbostic "gid ", dip->di_gid, 89*51186Sbostic "size ", dip->di_size); 90*51186Sbostic (void)printf("inum %d\n", dip->di_inum); 91*51186Sbostic (void)printf("Direct Addresses\n"); 92*51186Sbostic for (i = 0; i < NDADDR; i++) { 93*51186Sbostic (void)printf("\t%lx", dip->di_db[i]); 94*51186Sbostic if ((i % 6) == 5) 95*51186Sbostic (void)printf("\n"); 96*51186Sbostic } 97*51186Sbostic for (i = 0; i < NIADDR; i++) 98*51186Sbostic (void)printf("\t%lx", dip->di_ib[i]); 99*51186Sbostic (void)printf("\n"); 100*51186Sbostic } 101*51186Sbostic 102*51186Sbostic lfs_print_inumber(vp) 103*51186Sbostic VNODE *vp; 104*51186Sbostic { 105*51186Sbostic (void)printf("%d\n", VTOI(vp)->i_number); 106*51186Sbostic } 107