NetBSD-Bugs archive

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

kern/39927: bad sector handling broken on wd; failed reads crash the kernel.



>Number:         39927
>Category:       kern
>Synopsis:       Bad sector handling broken on wd
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Nov 15 20:15:00 +0000 2008
>Originator:     Christos Zoulas
>Release:        NetBSD 5.99.01
>Organization:
        None but trying.
>Environment:
System: NetBSD shiny.astron.com 5.99.01 NetBSD 5.99.01 (SHINY) #55: Fri Nov 14 
20:27:39 EST 2008 
root@:/net/shiny/src-6/NetBSD/cvsroot/src/sys/arch/i386/compile/SHINY i386
Architecture: i386
Machine: i386
>Description:
        When a drive has bad sectors the wd code re-tries, but wdrestart
        is called via a softintr and it also tries to ltsleep which is not
        going to work. So you get an assertion. Kernels from january this
        year work, but once they give up, there is a secondary failure
        in the filesystem code where we die in ffs_freefile. This happens
        even when you cat or stat the file that has the bad blocks.
>How-To-Repeat:
        get a disk with bad sectors or simulate a read failure on a particular
        fsbn.
>Fix:
        don't use a softintr to dispatch retries; fix the filesystem code
        so that it does not die for no reason. It is really frustrating
        to have a disk going back and the OS dying on you.



Home | Main Index | Thread Index | Old Index