freebsd-dev/sbin/fsck_ffs
Kirk McKusick 91ea161570 If the lost+found directory is created by fsck, it will do a cacheino()
which sets the inoinfo's i_parent and i_dotdot to 0, but they never get
set to ROOTINO. This means that propagate will never find lost+found and
its descendents, subdirectories will remain DSTATE (instead of DFOUND)
even though they *are* correctly linked in, and pass4.c will try to
clear them unsuccessfully, thinking that there is no link count from the
DSTATE directory's parent. The result is that you need to run fsck twice
and get link count increasing errors (which are unexpected and fatal
when running in preen mode). The fix is to set i_parent and i_dotdot to
"parent" after the second cacheino() call in dir.c:allocdir().

Obtained from:	"Ethan Solomita" <ethan@geocast.com> (of the NetBSD Project)
2000-07-24 19:50:20 +00:00
..
SMM.doc Fix the case where fsck would not see sparse directories and the kernel would 1996-10-08 14:54:53 +00:00
dir.c If the lost+found directory is created by fsck, it will do a cacheino() 2000-07-24 19:50:20 +00:00
fsck_ffs.8 $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
fsck.h Teach fsck about snapshot files. These changes should have no 2000-07-06 02:03:11 +00:00
inode.c Make a tighter test for valid inode numbers in getnextinode(). 2000-07-15 18:28:36 +00:00
main.c Fix the use of an uninitialized variable in the previous commit. 2000-01-10 14:20:53 +00:00
Makefile opt_diagnostic.h isn't needed anymore. 1998-02-06 22:31:14 +00:00
pass1.c Ensure that block and character devices as well as fifo's and sockets 2000-07-12 06:19:22 +00:00
pass1b.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
pass2.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
pass3.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
pass4.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
pass5.c Teach fsck about snapshot files. These changes should have no 2000-07-06 02:03:11 +00:00
preen.c Make fsck(8) do a MNT_RELOAD after cleaning for all read-only mounted 1999-12-30 16:32:40 +00:00
setup.c Teach fsck about snapshot files. These changes should have no 2000-07-06 02:03:11 +00:00
utilities.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00