Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-5] src

Module Name:    src
Committed By:   snj
Date:           Sat Oct  3 22:49:43 UTC 2009

Modified Files:
        src/sbin/fsck_ffs [netbsd-5]: extern.h setup.c wapbl.c
        src/sbin/tunefs [netbsd-5]: tunefs.c
        src/sys/ufs/ffs [netbsd-5]: ffs_vfsops.c ffs_wapbl.c

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1036):
        sbin/fsck_ffs/extern.h: revision 1.25 via patch
        sbin/fsck_ffs/setup.c: revision 1.88 via patch
        sbin/fsck_ffs/wapbl.c: revision 1.4 via patch
        sbin/tunefs/tunefs.c: revision 1.41 via patch
        sys/ufs/ffs/ffs_vfsops.c: revision 1.252 via patch
        sys/ufs/ffs/ffs_wapbl.c: revision 1.13 via patch
Allow tunefs to clear any type of WAPBL log, not only in-filesystem
ones. Discussed in
and followups.
Do some basic checks of the WAPBL journal, to abort the boot before the
kernel refuse to mount a filesystem read-write (booting a system
multiuser with critical filesystems read-only is bad):
Add a check_wapbl() which will check some WAPBL values in the superblock,
and try to read the journal via wapbl_replay_start() if there is one.
pfatal() if one of these fail (abort boot if in preen mode,
as "CONTINUE" otherwise). In non-preen mode the bogus journal will
be cleared.
check_wapbl() is always called if the superblock supports WAPBL.
Even if FS_DOWAPBL is not there, there could be flags asking the
kernel to clear or create a log with bogus values which would cause the
kernel refuse to mount the filesystem.
Discussed in
and followups.
If the WAPBL journal can't be read (ffs_wapbl_replay_start() fails),
mount the filesystem anyway if MNT_FORCE is present.
This allows to still boot single-user a system with a corrupted
WAPBL on /, and so get a chance to run fsck to fix it.
and followups.

To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.24.2.1 src/sbin/fsck_ffs/extern.h
cvs rdiff -u -r1.84 -r1.84.2.1 src/sbin/fsck_ffs/setup.c
cvs rdiff -u -r1.2 -r1.2.6.1 src/sbin/fsck_ffs/wapbl.c
cvs rdiff -u -r1.37.2.1 -r1.37.2.2 src/sbin/tunefs/tunefs.c
cvs rdiff -u -r1.239.2.3 -r1.239.2.4 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -u -r1.6 -r1.6.8.1 src/sys/ufs/ffs/ffs_wapbl.c

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

Home | Main Index | Thread Index | Old Index