main.c (141611) | main.c (163845) |
---|---|
1/* 2 * Copyright (c) 1980, 1986, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 25 unchanged lines hidden (view full) --- 34 The Regents of the University of California. All rights reserved.\n"; 35#endif /* not lint */ 36 37#ifndef lint 38static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/14/95"; 39#endif /* not lint */ 40#endif 41#include <sys/cdefs.h> | 1/* 2 * Copyright (c) 1980, 1986, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 25 unchanged lines hidden (view full) --- 34 The Regents of the University of California. All rights reserved.\n"; 35#endif /* not lint */ 36 37#ifndef lint 38static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/14/95"; 39#endif /* not lint */ 40#endif 41#include <sys/cdefs.h> |
42__FBSDID("$FreeBSD: head/sbin/fsck_ffs/main.c 141611 2005-02-10 09:19:34Z ru $"); | 42__FBSDID("$FreeBSD: head/sbin/fsck_ffs/main.c 163845 2006-10-31 22:06:56Z pjd $"); |
43 44#include <sys/param.h> 45#include <sys/stat.h> 46#include <sys/file.h> 47#include <sys/time.h> 48#include <sys/mount.h> 49#include <sys/resource.h> 50#include <sys/sysctl.h> --- 181 unchanged lines hidden (view full) --- 232 size = MIBSIZE; 233 if (sysctlnametomib("vfs.ffs.adjrefcnt", adjrefcnt, &size) < 0) 234 exit(6); /* Lacks kernel support */ 235 if ((mntp == NULL && sblock.fs_clean == 1) || 236 (mntp != NULL && (sblock.fs_flags & FS_UNCLEAN) == 0)) 237 exit(7); /* Filesystem clean, report it now */ 238 exit(0); 239 } | 43 44#include <sys/param.h> 45#include <sys/stat.h> 46#include <sys/file.h> 47#include <sys/time.h> 48#include <sys/mount.h> 49#include <sys/resource.h> 50#include <sys/sysctl.h> --- 181 unchanged lines hidden (view full) --- 232 size = MIBSIZE; 233 if (sysctlnametomib("vfs.ffs.adjrefcnt", adjrefcnt, &size) < 0) 234 exit(6); /* Lacks kernel support */ 235 if ((mntp == NULL && sblock.fs_clean == 1) || 236 (mntp != NULL && (sblock.fs_flags & FS_UNCLEAN) == 0)) 237 exit(7); /* Filesystem clean, report it now */ 238 exit(0); 239 } |
240 if (preen && skipclean) { 241 /* 242 * If file system is gjournaled, check it here. 243 */ 244 if ((fsreadfd = open(filesys, O_RDONLY)) < 0 || readsb(0) == 0) 245 exit(3); /* Cannot read superblock */ 246 close(fsreadfd); 247 if ((sblock.fs_flags & FS_GJOURNAL) != 0) { 248 //printf("GJournaled file system detected on %s.\n", 249 // filesys); 250 if (sblock.fs_clean == 1) { 251 pwarn("FILE SYSTEM CLEAN; SKIPPING CHECKS\n"); 252 exit(0); 253 } 254 if ((sblock.fs_flags & (FS_UNCLEAN | FS_NEEDSFSCK)) == 0) { 255 gjournal_check(filesys); 256 exit(0); 257 } else { 258 pfatal("UNEXPECTED INCONSISTENCY, %s\n", 259 "CANNOT RUN FAST FSCK\n"); 260 } 261 } 262 } |
|
240 /* 241 * If we are to do a background check: 242 * Get the mount point information of the file system 243 * create snapshot file 244 * return created snapshot file 245 * if not found, clear bkgrdflag and proceed with normal fsck 246 */ 247 if (bkgrdflag) { --- 184 unchanged lines hidden (view full) --- 432 sblock.fs_time = time(NULL); 433 sbdirty(); 434 } 435 if (cvtlevel && sblk.b_dirty) { 436 /* 437 * Write out the duplicate super blocks 438 */ 439 for (cylno = 0; cylno < sblock.fs_ncg; cylno++) | 263 /* 264 * If we are to do a background check: 265 * Get the mount point information of the file system 266 * create snapshot file 267 * return created snapshot file 268 * if not found, clear bkgrdflag and proceed with normal fsck 269 */ 270 if (bkgrdflag) { --- 184 unchanged lines hidden (view full) --- 455 sblock.fs_time = time(NULL); 456 sbdirty(); 457 } 458 if (cvtlevel && sblk.b_dirty) { 459 /* 460 * Write out the duplicate super blocks 461 */ 462 for (cylno = 0; cylno < sblock.fs_ncg; cylno++) |
440 bwrite(fswritefd, (char *)&sblock, | 463 blwrite(fswritefd, (char *)&sblock, |
441 fsbtodb(&sblock, cgsblock(&sblock, cylno)), 442 SBLOCKSIZE); 443 } 444 if (rerun) 445 resolved = 0; 446 447 /* 448 * Check to see if the file system is mounted read-write. --- 90 unchanged lines hidden --- | 464 fsbtodb(&sblock, cgsblock(&sblock, cylno)), 465 SBLOCKSIZE); 466 } 467 if (rerun) 468 resolved = 0; 469 470 /* 471 * Check to see if the file system is mounted read-write. --- 90 unchanged lines hidden --- |