Deleted Added
full compact
dumpfs.c (109525) dumpfs.c (109532)
1/*
2 * Copyright (c) 2002 Networks Associates Technology, Inc.
3 * All rights reserved.
4 *
5 * This software was developed for the FreeBSD Project by Marshall
6 * Kirk McKusick and Network Associates Laboratories, the Security
7 * Research Division of Network Associates, Inc. under DARPA/SPAWAR
8 * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS

--- 40 unchanged lines hidden (view full) ---

49 The Regents of the University of California. All rights reserved.\n";
50#endif /* not lint */
51
52#ifndef lint
53#if 0
54static char sccsid[] = "@(#)dumpfs.c 8.5 (Berkeley) 4/29/95";
55#endif
56static const char rcsid[] =
1/*
2 * Copyright (c) 2002 Networks Associates Technology, Inc.
3 * All rights reserved.
4 *
5 * This software was developed for the FreeBSD Project by Marshall
6 * Kirk McKusick and Network Associates Laboratories, the Security
7 * Research Division of Network Associates, Inc. under DARPA/SPAWAR
8 * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS

--- 40 unchanged lines hidden (view full) ---

49 The Regents of the University of California. All rights reserved.\n";
50#endif /* not lint */
51
52#ifndef lint
53#if 0
54static char sccsid[] = "@(#)dumpfs.c 8.5 (Berkeley) 4/29/95";
55#endif
56static const char rcsid[] =
57 "$FreeBSD: head/sbin/dumpfs/dumpfs.c 109525 2003-01-19 10:25:11Z jmallett $";
57 "$FreeBSD: head/sbin/dumpfs/dumpfs.c 109532 2003-01-19 12:13:47Z jmallett $";
58#endif /* not lint */
59
60#include <sys/param.h>
61#include <sys/time.h>
62#include <sys/disklabel.h>
63
64#include <ufs/ufs/dinode.h>
65#include <ufs/ffs/fs.h>

--- 57 unchanged lines hidden (view full) ---

123 ufs_disk_close(&disk);
124 }
125 exit(eval);
126}
127
128int
129dumpfs(const char *name)
130{
58#endif /* not lint */
59
60#include <sys/param.h>
61#include <sys/time.h>
62#include <sys/disklabel.h>
63
64#include <ufs/ufs/dinode.h>
65#include <ufs/ffs/fs.h>

--- 57 unchanged lines hidden (view full) ---

123 ufs_disk_close(&disk);
124 }
125 exit(eval);
126}
127
128int
129dumpfs(const char *name)
130{
131 time_t time;
131 time_t fstime;
132 int64_t fssize;
133 int i;
134
135 switch (disk.d_ufs) {
136 case 2:
137 fssize = afs.fs_size;
132 int64_t fssize;
133 int i;
134
135 switch (disk.d_ufs) {
136 case 2:
137 fssize = afs.fs_size;
138 time = afs.fs_time;
138 fstime = afs.fs_time;
139 printf("magic\t%x (UFS2)\ttime\t%s",
139 printf("magic\t%x (UFS2)\ttime\t%s",
140 afs.fs_magic, ctime(&time));
140 afs.fs_magic, ctime(&fstime));
141 printf("superblock location\t%qd\tid\t[ %x %x ]\n",
142 afs.fs_sblockloc, afs.fs_id[0], afs.fs_id[1]);
141 printf("superblock location\t%qd\tid\t[ %x %x ]\n",
142 afs.fs_sblockloc, afs.fs_id[0], afs.fs_id[1]);
143 printf("ncg\t%d\tsize\t%qd\tblocks\t%d\n",
144 afs.fs_ncg, fssize, afs.fs_dsize);
143 printf("ncg\t%d\tsize\t%qd\tblocks\t%jd\n",
144 afs.fs_ncg, fssize, (intmax_t)afs.fs_dsize);
145 break;
146 case 1:
147 fssize = afs.fs_old_size;
145 break;
146 case 1:
147 fssize = afs.fs_old_size;
148 time = afs.fs_old_time;
148 fstime = afs.fs_old_time;
149 printf("magic\t%x (UFS1)\ttime\t%s",
149 printf("magic\t%x (UFS1)\ttime\t%s",
150 afs.fs_magic, ctime(&time));
150 afs.fs_magic, ctime(&fstime));
151 printf("id\t[ %x %x ]\n", afs.fs_id[0], afs.fs_id[1]);
151 printf("id\t[ %x %x ]\n", afs.fs_id[0], afs.fs_id[1]);
152 printf("ncg\t%d\tsize\t%qd\tblocks\t%d\n",
153 afs.fs_ncg, fssize, afs.fs_dsize);
152 printf("ncg\t%d\tsize\t%qd\tblocks\t%jd\n",
153 afs.fs_ncg, fssize, (intmax_t)afs.fs_dsize);
154 break;
155 default:
154 break;
155 default:
156 break;
156 goto err;
157 }
158 printf("bsize\t%d\tshift\t%d\tmask\t0x%08x\n",
159 afs.fs_bsize, afs.fs_bshift, afs.fs_bmask);
160 printf("fsize\t%d\tshift\t%d\tmask\t0x%08x\n",
161 afs.fs_fsize, afs.fs_fshift, afs.fs_fmask);
162 printf("frag\t%d\tshift\t%d\tfsbtodb\t%d\n",
163 afs.fs_frag, afs.fs_fragshift, afs.fs_fsbtodb);
164 printf("minfree\t%d%%\toptim\t%s\tsymlinklen %d\n",

--- 6 unchanged lines hidden (view full) ---

171 afs.fs_maxcontig, afs.fs_contigsumsize);
172 printf("nbfree\t%qd\tndir\t%qd\tnifree\t%qd\tnffree\t%qd\n",
173 afs.fs_cstotal.cs_nbfree, afs.fs_cstotal.cs_ndir,
174 afs.fs_cstotal.cs_nifree, afs.fs_cstotal.cs_nffree);
175 printf("bpg\t%d\tfpg\t%d\tipg\t%d\n",
176 afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg);
177 printf("nindir\t%d\tinopb\t%d\tmaxfilesize\t%qu\n",
178 afs.fs_nindir, afs.fs_inopb, afs.fs_maxfilesize);
157 }
158 printf("bsize\t%d\tshift\t%d\tmask\t0x%08x\n",
159 afs.fs_bsize, afs.fs_bshift, afs.fs_bmask);
160 printf("fsize\t%d\tshift\t%d\tmask\t0x%08x\n",
161 afs.fs_fsize, afs.fs_fshift, afs.fs_fmask);
162 printf("frag\t%d\tshift\t%d\tfsbtodb\t%d\n",
163 afs.fs_frag, afs.fs_fragshift, afs.fs_fsbtodb);
164 printf("minfree\t%d%%\toptim\t%s\tsymlinklen %d\n",

--- 6 unchanged lines hidden (view full) ---

171 afs.fs_maxcontig, afs.fs_contigsumsize);
172 printf("nbfree\t%qd\tndir\t%qd\tnifree\t%qd\tnffree\t%qd\n",
173 afs.fs_cstotal.cs_nbfree, afs.fs_cstotal.cs_ndir,
174 afs.fs_cstotal.cs_nifree, afs.fs_cstotal.cs_nffree);
175 printf("bpg\t%d\tfpg\t%d\tipg\t%d\n",
176 afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg);
177 printf("nindir\t%d\tinopb\t%d\tmaxfilesize\t%qu\n",
178 afs.fs_nindir, afs.fs_inopb, afs.fs_maxfilesize);
179 printf("sbsize\t%d\tcgsize\t%d\tcsaddr\t%d\tcssize\t%d\n",
180 afs.fs_sbsize, afs.fs_cgsize, afs.fs_csaddr, afs.fs_cssize);
179 printf("sbsize\t%d\tcgsize\t%d\tcsaddr\t%jd\tcssize\t%d\n",
180 afs.fs_sbsize, afs.fs_cgsize, (intmax_t)afs.fs_csaddr,
181 afs.fs_cssize);
181 break;
182 case 1:
183 printf("maxbpg\t%d\tmaxcontig %d\tcontigsumsize %d\n",
184 afs.fs_maxbpg, afs.fs_maxcontig, afs.fs_contigsumsize);
185 printf("nbfree\t%d\tndir\t%d\tnifree\t%d\tnffree\t%d\n",
186 afs.fs_old_cstotal.cs_nbfree, afs.fs_old_cstotal.cs_ndir,
187 afs.fs_old_cstotal.cs_nifree, afs.fs_old_cstotal.cs_nffree);
188 printf("cpg\t%d\tbpg\t%d\tfpg\t%d\tipg\t%d\n",

--- 9 unchanged lines hidden (view full) ---

198 afs.fs_old_csaddr, afs.fs_cssize);
199 printf("rotdelay %dms\trps\t%d\ttrackskew %d\tinterleave %d\n",
200 afs.fs_old_rotdelay, afs.fs_old_rps, afs.fs_old_trackskew,
201 afs.fs_old_interleave);
202 printf("nsect\t%d\tnpsect\t%d\tspc\t%d\n",
203 afs.fs_old_nsect, afs.fs_old_npsect, afs.fs_old_spc);
204 break;
205 default:
182 break;
183 case 1:
184 printf("maxbpg\t%d\tmaxcontig %d\tcontigsumsize %d\n",
185 afs.fs_maxbpg, afs.fs_maxcontig, afs.fs_contigsumsize);
186 printf("nbfree\t%d\tndir\t%d\tnifree\t%d\tnffree\t%d\n",
187 afs.fs_old_cstotal.cs_nbfree, afs.fs_old_cstotal.cs_ndir,
188 afs.fs_old_cstotal.cs_nifree, afs.fs_old_cstotal.cs_nffree);
189 printf("cpg\t%d\tbpg\t%d\tfpg\t%d\tipg\t%d\n",

--- 9 unchanged lines hidden (view full) ---

199 afs.fs_old_csaddr, afs.fs_cssize);
200 printf("rotdelay %dms\trps\t%d\ttrackskew %d\tinterleave %d\n",
201 afs.fs_old_rotdelay, afs.fs_old_rps, afs.fs_old_trackskew,
202 afs.fs_old_interleave);
203 printf("nsect\t%d\tnpsect\t%d\tspc\t%d\n",
204 afs.fs_old_nsect, afs.fs_old_npsect, afs.fs_old_spc);
205 break;
206 default:
206 break;
207 goto err;
207 }
208 printf("sblkno\t%d\tcblkno\t%d\tiblkno\t%d\tdblkno\t%d\n",
209 afs.fs_sblkno, afs.fs_cblkno, afs.fs_iblkno, afs.fs_dblkno);
210 printf("cgrotor\t%d\tfmod\t%d\tronly\t%d\tclean\t%d\n",
211 afs.fs_cgrotor, afs.fs_fmod, afs.fs_ronly, afs.fs_clean);
212 printf("flags\t");
213 if (afs.fs_flags == 0)
214 printf("none");

--- 23 unchanged lines hidden (view full) ---

238 cs->cs_nbfree, cs->cs_ndir, cs->cs_nifree, cs->cs_nffree);
239 }
240 printf("\n");
241 if (fssize % afs.fs_fpg) {
242 if (disk.d_ufs == 1)
243 printf("cylinders in last group %d\n",
244 howmany(afs.fs_old_size % afs.fs_fpg,
245 afs.fs_old_spc / afs.fs_old_nspf));
208 }
209 printf("sblkno\t%d\tcblkno\t%d\tiblkno\t%d\tdblkno\t%d\n",
210 afs.fs_sblkno, afs.fs_cblkno, afs.fs_iblkno, afs.fs_dblkno);
211 printf("cgrotor\t%d\tfmod\t%d\tronly\t%d\tclean\t%d\n",
212 afs.fs_cgrotor, afs.fs_fmod, afs.fs_ronly, afs.fs_clean);
213 printf("flags\t");
214 if (afs.fs_flags == 0)
215 printf("none");

--- 23 unchanged lines hidden (view full) ---

239 cs->cs_nbfree, cs->cs_ndir, cs->cs_nifree, cs->cs_nffree);
240 }
241 printf("\n");
242 if (fssize % afs.fs_fpg) {
243 if (disk.d_ufs == 1)
244 printf("cylinders in last group %d\n",
245 howmany(afs.fs_old_size % afs.fs_fpg,
246 afs.fs_old_spc / afs.fs_old_nspf));
246 printf("blocks in last group %d\n\n",
247 (fssize % afs.fs_fpg) / afs.fs_frag);
247 printf("blocks in last group %ld\n\n",
248 (long)((fssize % afs.fs_fpg) / afs.fs_frag));
248 }
249 while ((i = cgread(&disk)) != 0) {
250 if (i == -1 || dumpcg())
251 goto err;
252 }
253 return (0);
254
255err: ufserr(name);
256 return (1);
257}
258
259int
260dumpcg(void)
261{
249 }
250 while ((i = cgread(&disk)) != 0) {
251 if (i == -1 || dumpcg())
252 goto err;
253 }
254 return (0);
255
256err: ufserr(name);
257 return (1);
258}
259
260int
261dumpcg(void)
262{
262 time_t time;
263 time_t cgtime;
263 off_t cur;
264 int i, j;
265
266 printf("\ncg %d:\n", disk.d_lcg);
267 cur = fsbtodb(&afs, cgtod(&afs, disk.d_lcg)) * disk.d_bsize;
268 switch (disk.d_ufs) {
269 case 2:
264 off_t cur;
265 int i, j;
266
267 printf("\ncg %d:\n", disk.d_lcg);
268 cur = fsbtodb(&afs, cgtod(&afs, disk.d_lcg)) * disk.d_bsize;
269 switch (disk.d_ufs) {
270 case 2:
270 time = acg.cg_time;
271 cgtime = acg.cg_time;
271 printf("magic\t%x\ttell\t%qx\ttime\t%s",
272 printf("magic\t%x\ttell\t%qx\ttime\t%s",
272 acg.cg_magic, cur, ctime(&time));
273 acg.cg_magic, cur, ctime(&cgtime));
273 printf("cgx\t%d\tndblk\t%d\tniblk\t%d\tinitiblk %d\n",
274 acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk);
275 break;
276 case 1:
274 printf("cgx\t%d\tndblk\t%d\tniblk\t%d\tinitiblk %d\n",
275 acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk);
276 break;
277 case 1:
277 time = acg.cg_old_time;
278 cgtime = acg.cg_old_time;
278 printf("magic\t%x\ttell\t%qx\ttime\t%s",
279 printf("magic\t%x\ttell\t%qx\ttime\t%s",
279 acg.cg_magic, cur, ctime(&time));
280 acg.cg_magic, cur, ctime(&cgtime));
280 printf("cgx\t%d\tncyl\t%d\tniblk\t%d\tndblk\t%d\n",
281 acg.cg_cgx, acg.cg_old_ncyl, acg.cg_old_niblk,
282 acg.cg_ndblk);
283 break;
284 default:
285 break;
286 }
287 printf("nbfree\t%d\tndir\t%d\tnifree\t%d\tnffree\t%d\n",

--- 112 unchanged lines hidden ---
281 printf("cgx\t%d\tncyl\t%d\tniblk\t%d\tndblk\t%d\n",
282 acg.cg_cgx, acg.cg_old_ncyl, acg.cg_old_niblk,
283 acg.cg_ndblk);
284 break;
285 default:
286 break;
287 }
288 printf("nbfree\t%d\tndir\t%d\tnifree\t%d\tnffree\t%d\n",

--- 112 unchanged lines hidden ---