On Tue, May 12, 2009 at 10:36:58AM +0200, Sebastian Rother wrote:
> There is a logic error in the FS subsystem related to softdep.

i don't quite see the "logic error" but the situation you are
describing seems to be more related to "IO error" generated
from your faulty hardware.
softdeps or not this may lead to dataloss.
perhaps you should look at yor hardware more closely.

besides that anoncvs is still not up thus i have no clue
which sources you might be running.

> Setup: 
> 
> 3 HDDs (a,b,c)
> 
> a contains the OS
> b and c have the same size
> 
> If the following is true a kernel should panic:
> 
> if (data > avaiable storage)
> 
> How I triggered it:
> Put some files to C and then dd if=/dev/wd1c bs=1m | gzip -9
> > /mnt/hdd2/hdd.img.gz
> 
> The problem here is that HDD "a" is NOT even used but the kernel still
> panics. NO special mount operations nor newfs flags where used.
> Just: noatime, softdep
> 
> The code wich triggers the panic is located at:
> /src/sys/ufs/ffs/ffs_softdep.c
> 
> And it should be this condition:
>  
> if ((bp->b_flags & B_ERROR) == 0)
> panic("softdep_deallocate_dependencies: dangling deps");
> softdep_error(bp->b_vp->v_mount->mnt_stat.f_mntonname,
> bp->b_error); panic("softdep_deallocate_dependencies: unrecovered I/O
> error");
> 
> 
> 
> /: got error 5 while accessing filesystem
> panic: softdep_deallocate_depencies: unrecovered I/O error
> Stopped at: Debugger+0x5; leave
> 
> trace:
> Debugger() at Debugger+0x5
> panic() at panic+0x122
> softdep_deallocate_depencies() at softdep_deallocate_depencies+0x1b
> brelse() brelse+0x1c2
> wddone() at wddone+0x9b
> wdc_ata_ctrl_intr() at wdc_ata_ctrl_intre+0x220
> wdcintr() at wdintr+0xb2
> pccide_pci_intr() at pciide_pci_intr+0x6d
> Xintr_ioapic_level7() at Xintr_ioapic_level7+0xec
> interrupted
> end trace frame: 0x0, count: -10
> 0:
> 
> This should considered a serious issue because it leads ultimatively to
> dataloss and a normal user would not assume that softdep might be that
> risky.
> 
> 
> Should I report it to the other BSDs as well?
> 
> 
> Kind regards,
> Sebastian

-- 
    paranoic mickey       (my employers have changed but, the name has remained)

Reply via email to