[SCSI] zfcp: Remove SCSI devices when removing complete adapter
The common I/O layer can call remove a handler to inform zfcp that a device disappeared. The handler zfcp_ccw_remove then removes all unit, port and the adapter data structures. Removing the units requires that the SCSI devices are removed first. Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
18edcdbdb2
commit
e39c8877a4
1 changed files with 3 additions and 0 deletions
|
@ -120,6 +120,9 @@ zfcp_ccw_remove(struct ccw_device *ccw_device)
|
||||||
|
|
||||||
list_for_each_entry_safe(port, p, &adapter->port_remove_lh, list) {
|
list_for_each_entry_safe(port, p, &adapter->port_remove_lh, list) {
|
||||||
list_for_each_entry_safe(unit, u, &port->unit_remove_lh, list) {
|
list_for_each_entry_safe(unit, u, &port->unit_remove_lh, list) {
|
||||||
|
if (atomic_test_mask(ZFCP_STATUS_UNIT_REGISTERED,
|
||||||
|
&unit->status))
|
||||||
|
scsi_remove_device(unit->device);
|
||||||
zfcp_unit_dequeue(unit);
|
zfcp_unit_dequeue(unit);
|
||||||
}
|
}
|
||||||
zfcp_port_dequeue(port);
|
zfcp_port_dequeue(port);
|
||||||
|
|
Reference in a new issue