• J
    block,scsi: fixup blk_get_request dead queue scenarios · a492f075
    Joe Lawrence 提交于
    The blk_get_request function may fail in low-memory conditions or during
    device removal (even if __GFP_WAIT is set). To distinguish between these
    errors, modify the blk_get_request call stack to return the appropriate
    ERR_PTR. Verify that all callers check the return status and consider
    IS_ERR instead of a simple NULL pointer check.
    
    For consistency, make a similar change to the blk_mq_alloc_request leg
    of blk_get_request.  It may fail if the queue is dead, or the caller was
    unwilling to wait.
    Signed-off-by: NJoe Lawrence <joe.lawrence@stratus.com>
    Acked-by: Jiri Kosina <jkosina@suse.cz> [for pktdvd]
    Acked-by: Boaz Harrosh <bharrosh@panasas.com> [for osd]
    Reviewed-by: NJeff Moyer <jmoyer@redhat.com>
    Signed-off-by: NJens Axboe <axboe@fb.com>
    a492f075
scsi_ioctl.c 19.5 KB