[SCSI] libiscsi: make sure session is not blocked when removing host
authorMike Christie <michaelc@cs.wisc.edu>
Thu, 26 Jul 2007 17:46:45 +0000 (12:46 -0500)
committerJames Bottomley <jejb@mulgrave.localdomain>
Fri, 27 Jul 2007 13:11:14 +0000 (09:11 -0400)
When we logout we block the session since we are not taking any more
commands, but when we call remove host we want to make sure any
IO that got queued up and blocked gets failed upwards quickly, so
we unblock the session and fail it.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/libiscsi.c

index 4d85ce1001922819e40ea48e6ea46c86680dcb99..271a2d671b898ab0251558ad9972b4b0e1203391 100644 (file)
@@ -1473,6 +1473,7 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
        struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
        struct module *owner = cls_session->transport->owner;
 
+       iscsi_unblock_session(cls_session);
        scsi_remove_host(shost);
 
        iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds);