Dan Williams
e4a9c3732c
[SCSI] libata, libsas: introduce sched_eh and end_eh port ops
...
When managing shost->host_eh_scheduled libata assumes that there is a
1:1 shost-to-ata_port relationship. libsas creates a 1:N relationship
so it needs to manage host_eh_scheduled cumulatively at the host level.
The sched_eh and end_eh port port ops allow libsas to track when domain
devices enter/leave the "eh-pending" state under ha->lock (previously
named ha->state_lock, but it is no longer just a lock for ha->state
changes).
Since host_eh_scheduled indicates eh without backing commands pinning
the device it can be deallocated at any time. Move the taking of the
domain_device reference under the port_lock to guarantee that the
ata_port stays around for the duration of eh.
Reviewed-by: Jacek Danecki <jacek.danecki@intel.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-07-20 08:58:45 +01:00
..
2011-07-23 17:57:36 -04:00
2012-05-03 14:08:53 -04:00
2012-05-03 14:07:40 -04:00
2012-03-13 16:35:47 -04:00
2012-05-22 15:54:13 -04:00
2012-05-07 15:32:58 -04:00
2012-05-22 16:02:34 -04:00
2012-03-13 16:35:37 -04:00
2011-08-02 21:17:02 -10:00
2012-07-20 08:58:45 +01:00
2012-07-20 08:58:45 +01:00
2011-11-09 01:38:00 -05:00
2012-04-23 12:11:47 +01:00
2012-03-20 21:48:16 +08:00
2012-04-18 14:33:25 -04:00
2010-10-21 20:21:03 -04:00
2012-04-12 15:57:51 -04:00
2012-05-22 16:02:34 -04:00
2011-07-23 18:07:27 -04:00
2011-10-14 13:10:42 -04:00
2011-07-23 17:57:36 -04:00
2012-06-20 14:39:36 -07:00
2011-10-14 13:32:54 -04:00
2011-03-02 02:36:46 -05:00
2012-02-13 18:31:37 +01:00
2011-10-14 13:16:49 -04:00
2011-07-23 17:57:36 -04:00
2012-01-17 20:49:28 -05:00
2012-03-13 16:43:11 -04:00
2010-10-21 20:21:05 -04:00
2011-07-23 17:57:36 -04:00
2010-05-25 19:40:30 -04:00
2011-10-14 13:08:05 -04:00
2012-01-08 19:14:58 -05:00
2010-05-25 19:40:30 -04:00
2011-10-14 13:38:40 -04:00
2012-05-22 16:02:34 -04:00
2011-03-14 02:56:31 -04:00
2011-07-23 17:57:36 -04:00
2011-03-14 02:56:31 -04:00
2011-10-14 13:07:18 -04:00
2011-07-23 17:57:36 -04:00
2012-01-08 19:14:58 -05:00
2009-03-24 22:52:39 -04:00
2011-07-23 18:04:25 -04:00
2011-10-14 13:25:17 -04:00
2012-01-08 19:14:58 -05:00
2010-05-25 19:40:30 -04:00
2012-03-13 12:43:13 -04:00
2011-07-23 17:57:36 -04:00
2011-06-24 02:07:35 -04:00
2012-03-13 16:41:08 -04:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2011-03-02 02:36:45 -05:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2012-01-08 19:14:58 -05:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2012-01-08 19:14:58 -05:00
2011-07-23 17:57:36 -04:00
2010-10-21 20:21:06 -04:00
2011-10-14 13:32:52 -04:00
2010-05-25 19:40:30 -04:00
2012-01-08 19:14:58 -05:00
2012-01-08 19:14:58 -05:00
2011-07-23 17:57:36 -04:00
2012-01-08 19:14:58 -05:00
2011-10-14 13:38:36 -04:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2011-10-14 13:01:42 -04:00
2011-10-14 13:19:51 -04:00
2011-07-23 17:57:36 -04:00
2011-10-14 13:16:35 -04:00
2011-10-14 12:46:45 -04:00
2011-10-08 00:07:16 -04:00
2011-10-14 13:32:53 -04:00
2011-07-23 17:57:36 -04:00
2011-10-14 13:22:54 -04:00
2011-07-23 17:57:36 -04:00
2012-01-08 19:14:58 -05:00
2012-03-13 12:43:13 -04:00
2011-07-23 17:57:36 -04:00
2012-05-08 16:33:58 -07:00
2012-01-13 09:32:20 +10:30
2011-07-23 17:57:36 -04:00
2008-01-23 05:24:15 -05:00
2011-07-23 17:57:36 -04:00
2012-01-13 09:32:20 +10:30
2011-08-18 23:52:36 -04:00
2011-11-09 01:36:49 -05:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2011-07-23 17:57:36 -04:00
2007-07-02 10:17:42 -04:00