• Robert Jennings's avatar
    [SCSI] ibmvscsi: Prevent IO during partner login · 3c887e8a
    Robert Jennings authored
    By setting the request_limit in send_srp_login to 1 we allowed login
    requests to be sent to the server adapter.  If this was not an initial
    login, but was a login after a disconnect with the server, other I/O
    requests could attempt to be processed before the login occured.  These
    I/O requests would fail, sometimes resulting in filesystems getting
    marked read-only.
    
    To address this we can set the request_limit to 0 while doing the login
    and add an exception where login requests, along with task management
    events, are always passed to the server.
    
    There is a case where the request_limit had already reached 0 would result
    in all events being sent rather than returning SCSI_MLQUEUE_HOST_BUSY; this
    has also been fixed by this patch.
    Signed-off-by: default avatarRobert Jennings <rcj@linux.vnet.ibm.com>
    Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
    3c887e8a
ibmvscsi.c 50.4 KB