Commit Graph

23 Commits

Author SHA1 Message Date
Adrian Chadd 5332f2e5d8 Pre-IFS commit. Commit IFS-aware fsck and mount utilities.
mount_ifs: repocopy of sbin/mount, with most of the intelligence ripped out
           and "ufs" replaced with "ifs" in the right places. It will only
           mount a single filesystem, rather than the -t <type> magic that
           our real mount does.

fsck_ifs:  repocopy of sbin/fsck_ffs, but the directory structure stuff
           (pass2 and some refcount checks) has been #ifdef'ed out.

src/sbin/Makefile: Build these two utilities

There is probably cruft code left in both which can be removed at a later
date, especially in mount_ifs, but I trust that people will not try
mount_ifs -a ..

Note: there are no man pages installed for these two commands as I haven't
actually written them yet.
2000-10-14 02:44:56 +00:00
Adrian Chadd 9ea6f4f0be Reviewed by: rwatson, bp
Approved by:	rwatson
Obtained from:	NetBSD-current source tree

The beginnings of the fsck wrappers stuff from NetBSD. This particular commit
brings a newly repo-copied sbin/fsck_ffs/ (from sbin/fsck/) into fsck wrappers
mode.

A quick overview (the code reflects this):

* Documentation changed to reflect fsck_ffs instead of fsck
* Simply acts on a single filesystem, doesn't try to do any multiple filesystem
  magic - this is done by the fsck wrappers now

And then specific to fsck_ffs:

* link to /sbin/fsck_4.2bsd and /sbin/fsck_ufs. This is because right now
  the filesystem is of type ufs not ffs, and that during autodetection the
  labeltype rather than the VFS type is used - this is because when doing
  an autodetection of filesystem type in the fsck wrapper program, it does
  not have any link between label type (4.2bsd, vinum, etc) and VFS string.

Note that this shouldn't break a build since the required buildworld Makefile
magic and import of the fsck wrapper code into src/sbin/fsck/ will happen
in a seperate commit.
2000-10-09 08:26:35 +00:00
Peter Wemm aa5344b7d7 Fix the use of an uninitialized variable in the previous commit.
Also, in addition to the previous log message, the last change had a fix
for the case where where f.mntfromname is a relative path like da0a.

Submitted by:	bde
2000-01-10 14:20:53 +00:00
Peter Wemm d0e1503b8e - Style/bde changes.
- Don't use realpath as stat does the right thing.
  - Only check ufs filesystems in getmntpt.
  - Dont' bother checking that the ufs-mounted-on
    device is a special file.  It *must* be a special
    file, or ufs wouldn't have mounted it.

Submitted by:	Paul Saab <ps@yahoo-inc.com>
2000-01-10 08:21:22 +00:00
Peter Wemm 571b29ee9b Make fsck(8) do a MNT_RELOAD after cleaning for all read-only mounted
filesystems, not just for the root fs.

Reviewed by:	mckusick
Submitted by:	Paul Saab <ps@yahoo-inc.com>
1999-12-30 16:32:40 +00:00
Peter Wemm 7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Julian Elischer 6b100474f7 Cosmetic and documentation changes brought from earlier FreeBSD versions.
(e.g. RCS Id:)
1998-12-03 02:41:11 +00:00
Julian Elischer d33e92f93e Reviewed by: Don Lewis <Don.Lewis@tsc.tdk.com>
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.
1998-12-03 02:27:35 +00:00
Matt Jacob 3396608117 For large filesystems you can run past default resource limits causing
fsck to exit unhappily. Fix this by doing a getrlimit/setrlimit for
RLIMIT_DATA. I made the same fix in NetBSD.

Reviewed by:	dg@root.com
1998-11-05 03:26:36 +00:00
Philippe Charnier 2d34272b7b Correct use of .Nm. Add rcsid. Remove unused #includes. Use err(3). 1998-06-15 07:07:21 +00:00
Julian Elischer b1897c197c Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman)
Submitted by:	Kirk McKusick (mcKusick@mckusick.com)
Obtained from:  WHistle development tree
1998-03-08 09:59:44 +00:00
Bruce Evans ccc3fadfd5 Fixed style bugs in the printing of statistics after preening. Use
floating point better in the percentage calculation there to avoid
overflow when there are more than about 20 million fragments.  Start
using floating point in the other percentage calculation to avoid
overflow when there are more than about 2 million fragments.

Fixed printf format strings.

Converted sccsid to rcsid.
1997-12-20 22:24:32 +00:00
Bruce Evans 2d187af5d6 Don't attempt to print the statistics for a "clean" preened filesystem
when there isn't even a filesystem.  Attempting to print them tended
to cause SIGSEGV or SIGFPE depending on how far setup() got before it
returned 0.  This was broken in the previous revision by removing a
return statement that the previous case depended on falling into.

PR:	4840 (fixed by this commit)
PR:	2537 (possibly fixed by Lite2 merge and later changes.  setup()
	      does more checking now)
1997-12-20 21:36:58 +00:00
Peter Wemm 32f189ac7d Kill the Lite2 early "filesystem clean abort" check and go back to
something closer to how we used to do it.  The Lite2 way is to check the
"fsclean" flag in the superblock and stop there if so (during preen).
We now do the various superblock sanity checks that we used to do before
since it's cheap.  We now get the filesystem state summary again instead
of "FILESYSTEM CLEAN; CHECKING SKIPPED" (or whatever).
1997-03-13 15:37:23 +00:00
Bruce Evans 473e3a9ab9 Finished (?) merging with Lite2: cleaned up #include mess.
Updated getopt() usage.
1997-03-12 16:46:32 +00:00
Peter Wemm 780a5c1ec1 Merge from Lite2. Note that Lite2 has it's own filesystem clean check
skipping code that overrides ours sooner.  One should be eliminated,
but for now it works.
1997-03-11 12:20:21 +00:00
Guido van Rooij 47ceb63687 Fix the case where fsck would not see sparse directories and the kernel would
panic. If such a thing is fixed fsck needs a rerun (and bugs the user to do
so).

Reviewed by:	Kirk McKusick
1996-10-08 14:54:53 +00:00
Andrey A. Chernov c0fe8534e7 Remove unneeded ctype.h 1995-10-23 23:50:20 +00:00
Rodney W. Grimes 5ebc7e6281 Remove trailing whitespace. 1995-05-30 06:12:45 +00:00
Bruce Evans 31f4ab50bc Submitted by: phk, added to by bde
Fix all the warnings from `gcc -Wall'.
1995-04-02 14:52:29 +00:00
David Greenman 802cd8e6f0 Better support for clean bit: prompt the user to fix it if it's wrong
when not preening, and indicate if it was fixed when preening.
1994-08-21 08:47:10 +00:00
David Greenman 41cee58cd8 Added filesystem clean bit support. This only affects fsck during a
preen (-p), and in that case the filesystem is skipped if it is clean.
A new flag "-f" for 'force' has been added which basically gives back
the old behavior of checking all the filesystems all the time. This
very closely models the behavior of SunOS and Ultrix.
1994-08-20 16:56:36 +00:00
Rodney W. Grimes 8fae3551ec BSD 4.4 Lite sbin Sources
Note:  XNSrouted and routed NOT imported here, they shall be imported with
usr.sbin.
1994-05-26 06:35:07 +00:00