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: