On 5/8/19, 1:42 PM, "[email protected] on behalf of Shivaram
Upadhyayula" <[email protected] on behalf of
[email protected]> wrote:
Hi,
There seem to be a few issues when trying to do a logout
qla_target.c:qlt_free_session_done in 4.19.41
1. When the logout timesout qla2x00_sp_timeout is called. This
function assumes sp->qpair is valid, but this isn't the case if mq is
not enabled
2. qla2x00_async_iocb_timeout also assumes that sp->qpair is valid.
Also only if qla24xx_async_abort_cmd() fails is sp->done() called,
sp->done in this case is qlt_logo_completion_handler() which will
never be called if qla24xx_async_abort_cmd() succeeds
3. qla24xx_async_abort_cmd() can lead to "scheduling while atomic" if
called from qla2x00_async_iocb_timeout. The wait parameter can be used
to alloc with GFP_ATOMIC
Please see diff https://www.quadstor.com/patches/srb-logout.diff
generated against 4.9.41
>> We have addressed issues related to above in our latest upstream driver. Can
>> you check and let us know whether you still see the above issues.
-- Giri
Regards,
Shivaram
--
Virtual Tape Library https://www.quadstor.com/virtual-tape-library.html
Storage Virtualization with VAAI
https://www.quadstor.com/storage-virtualization.html