Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Konrad Schroder <perseant@netbsd.org>
List: source-changes
Date: 11/08/1999 18:21:07
Module Name:	syssrc
Committed By:	perseant
Date:		Tue Nov  9 02:21:06 UTC 1999

Modified Files:
	syssrc/sys/ufs/lfs: lfs_alloc.c lfs_segment.c lfs_syscalls.c
	    lfs_vfsops.c

Log Message:
If ifile blocks were written before dirops were complete, and then the
system crashed, inodes could be allocated that were not referenced.  (Though
not a serious problem, it evidences itself in phase 4 of fsck_lfs.)  Fix
this by marking if_daddr with UNASSIGNED before the inodes are actually
written; at mount time the ifile is checked for UNASSIGNED entries and
any that are found are linked back into the free list.  (The latter
functionality should move into the roll-forward agent when it materializes.)


To generate a diff of this commit:
cvs rdiff -r1.26 -r1.27 syssrc/sys/ufs/lfs/lfs_alloc.c
cvs rdiff -r1.32 -r1.33 syssrc/sys/ufs/lfs/lfs_segment.c
cvs rdiff -r1.33 -r1.34 syssrc/sys/ufs/lfs/lfs_syscalls.c
cvs rdiff -r1.41 -r1.42 syssrc/sys/ufs/lfs/lfs_vfsops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.