libata: separate error handler into usable components
authorJames Bottomley <James.Bottomley@suse.de>
Sun, 23 Jan 2011 15:42:50 +0000 (09:42 -0600)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 2 Mar 2011 07:36:45 +0000 (02:36 -0500)
commit0e0b494ca8c54a7297d0cc549405091019b3b77e
tree7d675c0ccae0763402585e91c38f1aa42818031c
parentc34aeebc06e8bdde93e8c8f40d9903b1aaab63c6
libata: separate error handler into usable components

Right at the moment, the libata error handler is incredibly
monolithic.  This makes it impossible to use from composite drivers
like libsas and ipr which have to handle error themselves in the first
instance.

The essence of the change is to split the monolithic error handler
into two components: one which handles a queue of ata commands for
processing and the other which handles the back end of readying a
port.  This allows the upper error handler fine grained control in
calling libsas functions (and making sure they only get called for ATA
commands whose lower errors have been fixed up).

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-eh.c
include/linux/libata.h