Error handling in LibATA

From: John Treubig
Date: Tue Jan 10 2006 - 17:29:15 EST


I've been working on a problem with Promise 20269 PATA adapter under LibATA that if the drive has a write error or time-out, the application that is accessing the drive using SG should see some sort of error. My first problem was my system hung. After patching the IDE-IO.C, with a recognized patch, I have been able to keep my system from hanging. Now the only problem is the application gets no notification that the drive has been rendered inaccessible. (Test case is to run a system with my app going, and then pull the power from the drive. System log shows the errors, but nothing gets back to the app). The app does get notifications if I perform the same type of test on a drive attached to the motherboard secondary IDE adapter, so we know the app is correctly implemented.

I've traced the errors down to the fact that the errors are caught in libata-core.c (ata_qc_timeout). I'd like to put a call in libata-core.c that would cause an error to be reflected back to the application. Can you suggest the function or method that would do this?

Best wishes,
John Treubig
VT Miltope Corporation


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/