Fix a bug in fsck_ffs where if a directory somehow develops a hole
(that is a block pointer that has a value of zero), fsck would give the
filesystem a clean bill of health, but the kernel would panic when
accessing the directory with the hole. Fsck now checks for holes
in directories. If found in preen mode, fsck fails. In manual
mode, it can be directed to shorten the directory to the beginning of
the hole. A more complete solution would be to allocate a block to fill
the hole. However, this is a lot more work for a `cannot happen' error,
so the extra effort seems unwarranted.
<util.h>
- Change checkfstab so that the checkit function takes the name of the
mount point too (needed by quotacheck).
- Remove globals debug, verbose and preen
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
- added missing prototypes, and made local functions static
- removed parallel preening code; this is part of fsck(8)
- use printing utilities from fsck(8)
- Makefile does not make links to fsck and fsck.8
- removed -l maxparallel option. It has no meaning anymore.
Mostly, when someone specifies a partition entry like:
c: 1295850 0
or
g: 1295850 0 4.2BSD
disklabel would dump core. Now it generates a warning like it should
in the first case and complains about too few fields in the second.
Perhaps I should just default to unused in the first case, but this prevents
core dumps. (pr bin/2659)
Giles Lean <giles@nemeton.com.au> on the tech-net@NetBSD.ORG mailing
list. The rationale for this is that folks may be used to rdisc(8)
or in.rdisc(8) on other systems, and may not realize that NetBSD
implements ICMP Router Discovery in the routed(8) program.
- Add some prototypes and definitions for types as necessary,
wrapped in __NetBSD__ to maintain portability.
- Explicit size types in structures that go out the wire.
- RCS id police.