Subject: kern/14382: softdep does not fulfill its integrity guarantees
To: None <gnats-bugs@gnats.netbsd.org>
From: Chuck Silvers <chuq@chuq.com>
List: netbsd-bugs
Date: 10/28/2001 08:24:18
>Number: 14382
>Category: kern
>Synopsis: softdep does not fulfill its integrity guarantees
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Oct 28 08:25:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Chuck Silvers
>Release: Sat Oct 27 08:15:30 PST 2001
>Organization:
me
>Environment:
System: NetBSD spathi.chuq.com 1.5Y NetBSD 1.5Y (SPATHI) #2: Sun Sep 30 00:40:19 PDT 2001 chs@spathi.chuq.com:/home/chs/netbsd/src/ubc.spathi/sys/arch/i386/compile/SPATHI i386
>Description:
softdep claims to order disk writes such that the data on disk
is always "safe", ie. that there are never any references to
unallocated or uninitialized data. yesterday after a crash,
the normal boot-time fsck of a filesystem which had been mounted
with softdep failed, and "fsck -y" said:
** /dev/rwd0g
** Last Mounted on /build
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
UNALLOCATED I=230249 OWNER=root MODE=0
SIZE=0 MTIME=Oct 28 01:00 2001
NAME=/obj/build/src/lib/libc/__fts13.so.o
REMOVE? yes
UNALLOCATED I=230318 OWNER=root MODE=0
SIZE=0 MTIME=Oct 28 01:00 2001
NAME=/obj/build/src/lib/libc/fts.o.o
REMOVE? yes
UNALLOCATED I=230450 OWNER=root MODE=0
SIZE=0 MTIME=Oct 28 01:00 2001
NAME=/obj/build/src/lib/libc/fmtmsg.o.o
REMOVE? yes
UNALLOCATED I=230439 OWNER=root MODE=0
SIZE=0 MTIME=Oct 28 01:00 2001
NAME=/obj/build/src/lib/libc/execvp.po.o
REMOVE? yes
UNALLOCATED I=230442 OWNER=root MODE=0
SIZE=0 MTIME=Oct 28 01:00 2001
NAME=/obj/build/src/lib/libc/fmtmsg.po.o
REMOVE? yes
UNALLOCATED I=230444 OWNER=root MODE=0
SIZE=0 MTIME=Oct 28 01:00 2001
NAME=/obj/build/src/lib/libc/execvp.so.o
REMOVE? yes
since this kind of corruption is never supposed to occur when softdep is used,
softdep is clearly not delivering on its promise.
>How-To-Repeat:
crash while running "make -j 100" in libc.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: