[SCSI] libata: separate error handler into usable components
authorJames Bottomley <James.Bottomley@suse.de>
Sun, 23 Jan 2011 15:42:50 +0000 (09:42 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 13 Feb 2011 19:17:24 +0000 (13:17 -0600)
commit64878c0eff5737e15b3ff06d02e7227eda4aa04c
tree68cde0b4abb3a66901522eb020867ce6b5871108
parent4451ef63e1a881eb275eb16dd1980491eea709de
[SCSI] 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).

Cc: Tejun Heo <tj@kernel.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/ata/libata-eh.c
include/linux/libata.h