Alan Cox [interview] provided a status update on his PATA driver efforts with libata [story]. He offered a qualified call for testers, "some initial patches are now ready for wider testing although strictly suicide squad material at this point." His status document currently lists 11 drivers about which he notes, "a lot of hardware isn't yet covered - I'm working on adding more support but I wanted to start with weirder devices first to better understand what was needed in libata."
In the brief thread, error handling was brought into question. Alan noted, "basic error handling in the libata code seems to work as well when I tested it, if not better because the old PATA code hangs the box on SMP or pre-empt if you get a DMA timeout and cable changedown due to locking flaws and also issues an immediate idle in error recovery which seems to crash some drives for good." He went on to point out that failed cable detect currently isn't supported by libata, "the speed change down support simply isn't in libata yet and that turns a downspeed change for poor cables or cable misdetect into a hang."
From: Alan Cox [email blocked] To: linux-kernel Subject: Libata for parallel ATA controllers Date: Thu, 22 Sep 2005 18:05:26 +0100 I mentioned a while ago I was hacking on libata and PATA drivers. I've also fed a few bits of the needed support code to Jeff Garzik as I went. Some initial patches are now ready for wider testing although strictly suicide squad material at this point. I'm now at the point I'm running a full Fedora Core 4 with CONFIG_IDE=n using four disk raid on SIL680 controllers. A lot of hardware isn't yet covered - I'm working on adding more support but I wanted to start with weirder devices first to better understand what was needed in libata. Status info and patches are at http://zeniv.linux.org.uk/~alan/IDE Enjoy but remember this is very early code and don't use it for production!
From: Mark Lord [email blocked] Subject: Re: Libata for parallel ATA controllers Date: Thu, 22 Sep 2005 22:24:13 -0400 Alan Cox wrote: > > Status info and patches are at > > http://zeniv.linux.org.uk/~alan/IDE > > Enjoy but remember this is very early code and don't use it for > production! And especially keep in mind, that libata has practically *no* built-in error-handling or recovery mechanisms yet. If a drive gets into a "reset me to recover" state, then libata just might require a reboot to recover, whereas the IDE subsystem will usually try a reset operation at some point. Not a problem with modern, mostly bug-free hardware (eg. most SATA), but this could be an issue for some PATA interfaces. Cheers
From: Alan Cox [email blocked] Subject: Re: Libata for parallel ATA controllers Date: Fri, 23 Sep 2005 13:07:56 +0100 On Iau, 2005-09-22 at 22:24 -0400, Mark Lord wrote: > built-in error-handling or recovery mechanisms yet. If a drive > gets into a "reset me to recover" state, then libata just might > require a reboot to recover, whereas the IDE subsystem will usually > try a reset operation at some point. Or crash. > Not a problem with modern, mostly bug-free hardware (eg. most SATA), > but this could be an issue for some PATA interfaces. The basic error handling in the libata code seems to work as well when I tested it, if not better because the old PATA code hangs the box on SMP or pre-empt if you get a DMA timeout and cable changedown due to locking flaws and also issues an immediate idle in error recovery which seems to crash some drives for good. What doesn't work at all is failed cable detect - the speed change down support simply isn't in libata yet and that turns a downspeed change for poor cables or cable misdetect into a hang.