aboutsummaryrefslogtreecommitdiff
path: root/sbin/fsck/preen.c
Commit message (Collapse)AuthorAgeFilesLines
* sccs: Manual changesWarner Losh2023-11-271-8/+1
| | | | | | | | | | | | | | | For the uncommon items: Go through the tree and remove sccs tags that didn't fit any nice pattern. If in the neighborhood, other SCM tags were removed when they were detritis of long-ago CVS somehow in the early mists of the project. Some adjacent copyrights stringswere removed (they duplicated the copyright notices in the file). This also removed non-standard formations of omission of SCCS tags (usually by adding an extra #if 0 somewhere. After this commit, a number of strings tagged with the 'what' @(#) prefix remain, but they are primarily copyright notices. Sponsored by: Netflix
* Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* Update fsck(8) to ignore failures from a check program for a filesystemKirk McKusick2021-12-161-9/+15
| | | | | | | | | | when the fstab(5) entry for the filesystem has the "failok" attribute. Reviewed by: kib PR: 246201 MFC after: 2 weeks Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D33424
* General further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-201-1/+3
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326025
* Renumber copyright clause 4Warner Losh2017-02-281-1/+1
| | | | | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 Notes: svn path=/head/; revision=314436
* strchr(3) will return NULL if it cannot find the character in theMarcelo Araujo2016-04-181-1/+1
| | | | | | | | | | string. getfsent(3) will return NULL on EOF or error. MFC after: 2 weeks. Notes: svn path=/head/; revision=298194
* Make fsck and fsck_msdosfs WARNS=6 cleanUlrich Spörlein2012-10-211-3/+3
| | | | | | | | | | | | - sprinkle const - add volatile qualifier to avoid vfork clobbering Inspired by: NetBSD PR: bin/139802 Reviewed by: ed Notes: svn path=/head/; revision=241807
* sbin/fsck: s/perror/perr/ to avoid shadowingUlrich Spörlein2012-10-211-5/+5
| | | | | | | | | | | | - rename some other vars too - merge NetBSD license changes Obtained from: NetBSD PR: bin/139802 Reviewed by: ed Notes: svn path=/head/; revision=241806
* Add missing static keywords for global variables to tools in sbin/.Ed Schouten2011-11-041-2/+2
| | | | | | | | | These tools declare global variables without using the static keyword, even though their use is limited to a single C-file, or without placing an extern declaration of them in the proper header file. Notes: svn path=/head/; revision=227081
* Remove advertising clause from University of California Regent's license,Mark Murray2004-04-091-4/+0
| | | | | | | | | per letter dated July 22, 1999. Approved by: core, imp Notes: svn path=/head/; revision=128073
* Straighten out a compound if() to improve readability marginally.Poul-Henning Kamp2002-12-171-1/+4
| | | | Notes: svn path=/head/; revision=107987
* s/filesystem/file system/g as discussed on -developersTom Rhodes2002-08-211-1/+1
| | | | Notes: svn path=/head/; revision=102231
* o __P removedWarner Losh2002-03-201-19/+12
| | | | | | | | | | o ansi function prototypes o unifdef -D__STDC__ o __dead2 on usage prototype o remove now-bogus main prototype Notes: svn path=/head/; revision=92839
* Add support for running foreground (-F) and background (-B) checks.Kirk 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. Notes: svn path=/head/; revision=75936
* Don't make fsck go quite _that_ fast:Poul-Henning Kamp2001-04-071-1/+3
| | | | | | | In Preen mode we only checked one partition per disk device. Notes: svn path=/head/; revision=75289
* This change sanitizes the way fsck deals with pass numbers.Poul-Henning Kamp2001-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. Notes: svn path=/head/; revision=75015
* Use macro API to <sys/queue.h>Poul-Henning Kamp2000-12-301-2/+2
| | | | | | | | Submitted by: "Peter Avalos" <pavalos@theshell.com> Reviewed by: /sbin/md5 Notes: svn path=/head/; revision=70522
* When trying to deduce the diskname from the name so we can runPoul-Henning Kamp2000-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 Notes: svn path=/head/; revision=70415
* Use official API to <sys/queue.h> instead of groping around inside thePoul-Henning Kamp2000-12-271-17/+16
| | | | | | | | | data structures. Reviewed by: imp Notes: svn path=/head/; revision=70413
* .. fsck wrappers aftercommit #1: I don't know how these files got lost,Adrian Chadd2000-10-091-0/+344
| | | | | | | but they did. Oops. Notes: svn path=/head/; revision=66869
* Reviewed by: rwatson, bpAdrian Chadd2000-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. Notes: svn path=/head/; revision=66868
* Make fsck(8) do a MNT_RELOAD after cleaning for all read-only mountedPeter Wemm1999-12-301-8/+0
| | | | | | | | | | filesystems, not just for the root fs. Reviewed by: mckusick Submitted by: Paul Saab <ps@yahoo-inc.com> Notes: svn path=/head/; revision=55275
* Make fsck even more char/blk dev tolerant.Poul-Henning Kamp1999-11-271-16/+8
| | | | Notes: svn path=/head/; revision=53781
* Allow root-reloading also for chr devices.Poul-Henning Kamp1999-11-271-44/+3
| | | | Notes: svn path=/head/; revision=53754
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50476
* Also check against chardevs when looking for root.Poul-Henning Kamp1999-07-201-1/+3
| | | | Notes: svn path=/head/; revision=48935
* Cosmetic and documentation changes brought from earlier FreeBSD versions.Julian Elischer1998-12-031-0/+4
| | | | | | | (e.g. RCS Id:) Notes: svn path=/head/; revision=41477
* Reviewed by: Don Lewis <Don.Lewis@tsc.tdk.com>Julian Elischer1998-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. Notes: svn path=/head/; revision=41474
* Correct use of .Nm. Add rcsid. Remove unused #includes. Use err(3).Philippe Charnier1998-06-151-26/+20
| | | | Notes: svn path=/head/; revision=37000
* Guess the position of the drive number in the device name better soBruce Evans1998-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. Notes: svn path=/head/; revision=35095
* Finished (?) merging with Lite2: cleaned up #include mess.Bruce Evans1997-03-121-11/+9
| | | | | | | Fixed style bugs in FreeBSD changes. Notes: svn path=/head/; revision=23798
* Merge from Lite2. Note that Lite2 has it's own filesystem clean checkPeter Wemm1997-03-111-48/+51
| | | | | | | | skipping code that overrides ours sooner. One should be eliminated, but for now it works. Notes: svn path=/head/; revision=23675
* Don't give up just because we cant find the blkdev that correspondsPoul-Henning Kamp1996-10-271-2/+3
| | | | | | | to the name given as a chardev. Notes: svn path=/head/; revision=19212
* Allow the specification of a mountpoint, and resolve it s disk deviceJoerg Wunsch1996-10-251-1/+16
| | | | | | | | | | | using the fstab. Closes PR bin/129. Submitted by: jmg@nike.efn.org (John-Mark Gurney) Notes: svn path=/head/; revision=19185
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-1/+1
| | | | Notes: svn path=/head/; revision=8871
* Submitted by: phk, added to by bdeBruce Evans1995-04-021-13/+26
| | | | | | | Fix all the warnings from `gcc -Wall'. Notes: svn path=/head/; revision=7585
* BSD 4.4 Lite sbin SourcesRodney W. Grimes1994-05-261-0/+354
Note: XNSrouted and routed NOT imported here, they shall be imported with usr.sbin. Notes: svn path=/head/; revision=1558