[lkml]   [1997]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: serial input overrun(s) using ide-cd
>From: (Alan Cox)

>>> broken IDE controllers will cause MASSIVE FILESYSTEM DAMAGE
>>> if the stream of data during a programmed i/o data transfer is
>>> interrupted by an interrupt.

>> Given this, I don't see how you could even boot such a system. This
>> simply can't be the problem . PIO is interruptible.

>You turn interrupts off first. Otherwise these boards DO corrupt your
>IDE drive and the result is quite provable..

Why not make a list of "these boards" instead of assuming the worst
for all users?

FreeBSD does not disable interrupts during IDE I/O -- I can beat my
hard drive and CD-ROM as hard as they will go, even at the same time,
and NEVER, NEVER, NEVER get serial overruns in FreeBSD.

Yet I NEVER HEAR ANYONE complaining that FreeBSD corrupted their
filesystem on an IDE drive because interrupts were enabled during disk
I/O!!! CMD640 and some other buggy controllers cause problems unless
the IDE driver recognizes them and programs them accordingly, but any
such controllers are well known and FreeBSD does not need to disable
interrupts during disk I/O to avoid filesystem corruption.

This fear of IDE filesystem corruption seems to have reached mythical
proportions in the Linux world. Perhaps there is a design weakness no
one has discovered yet.

>From: "Richard B. Johnson" <>

>I'd be willing to bet a dime that the PIO problem is a write-behind cache
>problem that is being masked by turning off interrupts during PIO
>operation, I'll bet that changing write-back to write-through "fixes"
>the problem.

Sounds plausible.


 \ /
  Last update: 2005-03-22 13:40    [W:0.020 / U:0.216 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site