summaryrefslogtreecommitdiffstats
path: root/sbin/fsck/preen.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove advertising clause from University of California Regent's license,markm2004-04-091-4/+0
| | | | | | per letter dated July 22, 1999. Approved by: core, imp
* Straighten out a compound if() to improve readability marginally.phk2002-12-171-1/+4
|
* s/filesystem/file system/g as discussed on -developerstrhodes2002-08-211-1/+1
|
* o __P removedimp2002-03-201-19/+12
| | | | | | | o ansi function prototypes o unifdef -D__STDC__ o __dead2 on usage prototype o remove now-bogus main prototype
* Add support for running foreground (-F) and background (-B) checks.mckusick2001-04-251-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Traditionally, fsck is invoked before the filesystems are mounted and all checks are done to completion at that time. If background checking is available, fsck is invoked twice. It is first invoked at the traditional time, before the filesystems are mounted, with the -F flag to do checking on all the filesystems that cannot do background checking. It is then invoked a second time, after the system has completed going multiuser, with the -B flag to do checking on all the filesystems that can do background checking. Unlike the foreground checking, the background checking is started asynchonously so that other system activity can proceed even on the filesystems that are being checked. At the moment, only the fast filesystem supports background checking. To be able to do background checking, a filesystem must have been running with soft updates, not have been marked as needing a foreground check, and be mounted and writable when the background check is to be done (i.e., not listed as `noauto' in /etc/fstab). These changes are the final piece needed to support background filesystem checking. They will not have any effect until you update your /etc/rc to invoke fsck in its new mode of operation. I am still playing around with exactly what those changes should be and should be committing them later this week.
* Don't make fsck go quite _that_ fast:phk2001-04-071-1/+3
| | | | In Preen mode we only checked one partition per disk device.
* This change sanitizes the way fsck deals with pass numbers.phk2001-03-301-48/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider this /etc/fstab: # Device Mountpoint FStype Options Dump Pass# /dev/ad1s1b none swap sw 0 0 /dev/ad0s1b none swap sw 0 0 /dev/ad0s1a / ufs rw 1 1 /dev/ad0s1e /home ufs rw 2 2 /dev/ad1s1e /tmp ufs rw 2 2 /dev/ad1s1f /usr ufs rw 2 2 /dev/ccd0c /syv ufs rw 2 11 proc /proc procfs rw 0 0 ccd0c is striped over /dev/ad0f and /dev/ad1g Without this pass, fsck in preen mode will check ad0s1a first, and then issue three processes in parallel: One process doing ad0s1e One process doing ad1s1e and ad1s1f One process doing ccd0c There is no way to tell it that ccd0c overlaps ad0 and ad1. With the patch, it will do it this way: pass 2: One process doing ad0s1e One process doing ad1s1e and ad1s1f and when they are complete: pass 11: One process doing ccd0c This is much faster and more sane. Valid pass numbers are anything from 1 to INTMAX-1. I retired the '-l' option which tried to allow people to do something like this, but which didn't work and which complicated the code an awful lot.
* Use macro API to <sys/queue.h>phk2000-12-301-2/+2
| | | | | Submitted by: "Peter Avalos" <pavalos@theshell.com> Reviewed by: /sbin/md5
* When trying to deduce the diskname from the name so we can runphk2000-12-271-6/+11
| | | | | | | | | | | | | | | | | parallel fsck's one per drive, use the shortest prefix ending in a digit rather than the longest prefix ending in a digit. This makes "/dev/ad0s1a" and "/dev/ad0s2a" appear to both reside on the disk "/dev/ad0" and consequently they will be fsck'ed sequentially rather than in parallel as now. In general this heuristic is rather soft and errorprone. For instance ccd may often reside on two or more physical disks. A good solution would be to look for passes larger than 1 until no disks are found in a particular pass, that way people could put ccd stripes in pass 3... and have them fsck'ed sequentially. Reviewed by: mjacob
* Use official API to <sys/queue.h> instead of groping around inside thephk2000-12-271-17/+16
| | | | | | data structures. Reviewed by: imp
* .. fsck wrappers aftercommit #1: I don't know how these files got lost,adrian2000-10-091-0/+344
| | | | but they did. Oops.
* Reviewed by: rwatson, bpadrian2000-10-091-332/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Approved by: rwatson Obtained from: NetBSD source tree Second part of the fsck wrappers commit. This commit enables the new fsck code (removing the fsck/* code and replacing it with the netbsd fsck wrapper code), and enabling some FFS-based utilities to compile. Details: * quotacheck, fsdb required modification to use the fsck_ffs/ code rather than fsck/ . This might change later since quotacheck requires preen.c which should exist in fsck/ rather than fsck_ffs/ * src/Makefile has fsck_ffs added to it so it it built as part of the tree now * share/doc/smm/03.fsck/ uses the SMM.doc/ stuff from fsck_ffs, not fsck. I've tested this, and it shouldn't require any changes on your machine. The fsck wrapper reads /etc/fsck and is command-line-compatible enough to not require rc changes (well, most changes unless you want to do anything nifty by specifying the fs types explicityly, read the man page if you want further details on what it can do.) This now allows us to support multiple filesystem types during bootup.
* Make fsck(8) do a MNT_RELOAD after cleaning for all read-only mountedpeter1999-12-301-8/+0
| | | | | | | filesystems, not just for the root fs. Reviewed by: mckusick Submitted by: Paul Saab <ps@yahoo-inc.com>
* Make fsck even more char/blk dev tolerant.phk1999-11-271-16/+8
|
* Allow root-reloading also for chr devices.phk1999-11-271-44/+3
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Also check against chardevs when looking for root.phk1999-07-201-1/+3
|
* Cosmetic and documentation changes brought from earlier FreeBSD versions.julian1998-12-031-0/+4
| | | | (e.g. RCS Id:)
* Reviewed by: Don Lewis <Don.Lewis@tsc.tdk.com>julian1998-12-031-29/+33
| | | | | | | | | | | | Submitted by: Kirk McKusick <mckusick@McKusick.COM> Obtained from: Mckusick, BSDI and a host of others This exactly matches Kirks sources imported under the Tag MCKUSICK2. These are as supplied by kirk with one small change needed to compile under freeBSD. Some FreeBSD patches will be added back, though many have been added to Kirk's sources already.
* Correct use of .Nm. Add rcsid. Remove unused #includes. Use err(3).charnier1998-06-151-26/+20
|
* Guess the position of the drive number in the device name better sobde1998-04-071-6/+7
| | | | | | | | | | | that `fsck -p' doesn't check multiple slices on the same drive concurrently. Don't invoke undefined behaviour when searching for the drive number in strange device names. PR: 6129 Reviewed by: phk Submitted by: Yuichi MATSUTAKA <matutaka@osa.att.ne.jp>, but rewritten by me.
* Finished (?) merging with Lite2: cleaned up #include mess.bde1997-03-121-11/+9
| | | | Fixed style bugs in FreeBSD changes.
* Merge from Lite2. Note that Lite2 has it's own filesystem clean checkpeter1997-03-111-48/+51
| | | | | skipping code that overrides ours sooner. One should be eliminated, but for now it works.
* Don't give up just because we cant find the blkdev that correspondsphk1996-10-271-2/+3
| | | | to the name given as a chardev.
* Allow the specification of a mountpoint, and resolve it s disk devicejoerg1996-10-251-1/+16
| | | | | | | | using the fstab. Closes PR bin/129. Submitted by: jmg@nike.efn.org (John-Mark Gurney)
* Remove trailing whitespace.rgrimes1995-05-301-1/+1
|
* Submitted by: phk, added to by bdebde1995-04-021-13/+26
| | | | Fix all the warnings from `gcc -Wall'.
* BSD 4.4 Lite sbin Sourcesrgrimes1994-05-261-0/+354
Note: XNSrouted and routed NOT imported here, they shall be imported with usr.sbin.
OpenPOWER on IntegriCloud