Subject: kern/35054: Panic writing to LFS
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <scotte@warped.com>
List: netbsd-bugs
Date: 11/15/2006 02:20:00
>Number:         35054
>Category:       kern
>Synopsis:       Panic writing to LFS
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 15 02:20:00 +0000 2006
>Originator:     Scott Ellis
>Release:        NetBSD 4.99.3
>Organization:
	
>Environment:
	
	
System: NetBSD intrepid 4.99.3 NetBSD 4.99.3 (INTREPID.AMD64) #1: Mon Nov 13 21:38:33 PST 2006 scotte@intrepid:/misc/netbsd_src/src/obj.amd64/misc/netbsd_src/src/sys/arch/amd64/compile/INTREPID.AMD64 amd64
Architecture: x86_64
Machine: amd64
>Description:
	
Using a -current built from 11/13/06 sources, attempting:
	pax -rw -pe .  /mounts/drives/

where "/mounts/drive2" is disklabeled as:

 h: 554196864 422576128     4.4LFS      0     0     0  # (Cyl. 412672 - 953879*)

...and "." is an FFSv1 partition containing ~120G of data (MP3s, JPG, 
NetBSD source tree) causes the kernel to panic with:

Nov 14 17:33:49 intrepid /netbsd: /mounts/drive2: bad dir ino 70190 at offset 0:
 mangled entry
Nov 14 17:33:49 intrepid /netbsd: panic: bad dir
Nov 14 17:33:49 intrepid /netbsd: syncing disks...

This LFS and FFSv1 are both on a RAID 1 raidframe partition.

Running an fsck_lfs yields:
intrepid# fsck_lfs /dev/raid1h
** /dev/rraid1h
** Newer checkpoint verified, recovered 0 seconds of data
** Last Mounted on /mounts/drive2
** Phase 0 - Check Inode Free List
FREE LIST HEAD IN SUPERBLOCK SHOULD BE 125775 (WAS 125225)

FIX? [yn] y

** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
UNALLOCATED  I=70190
PARENT=2
INO is NULL

REMOVE? [yn] y

** Phase 3 - Check Connectivity
UNREF DIR  I=124909  OWNER=scotte MODE=40755
SIZE=512 MTIME=Nov 14 13:59 2006
RECONNECT? [yn] y

NO lost+found DIRECTORY
CREATE? [yn] y

DIRECTORY ? INO 70190: CONTAINS EMPTY BLOCKS [1]
ADJUST LENGTH? [yn] y

YOU MUST RERUN FSCK AFTERWARDS
DIRECTORY ? INO 70190: CONTAINS EMPTY BLOCKS [1]
ADJUST LENGTH? [yn] y

YOU MUST RERUN FSCK AFTERWARDS
DIRECTORY ? INO 70190: CONTAINS EMPTY BLOCKS [1]
ADJUST LENGTH? [yn] y

This repeats forever (or for about 50 times, until I ^C'ed it!).

Re-running fsck_lfs ends up in this same loop each time.


>How-To-Repeat:
	
Not sure.  I'm afraid to try this again and 'destroy the evidence'.

>Fix:
	
None knonw.

>Unformatted:
 Kernel panic with "bad dir ino" when writing to LFS partition