• Mike Christie's avatar
    scsi: target: Have drivers report if they support direct submissions · 194605d4
    Mike Christie authored
    In some cases, like with multiple LUN targets or where the target has to
    respond to transport level requests from the receiving context it can be
    better to defer cmd submission to a helper thread. If the backend driver
    blocks on something like request/tag allocation it can block the entire
    target submission path and other LUs and transport IO on that session.
    
    In other cases like single LUN targets with storage that can support all
    the commands that the target can queue, then it's best to submit the cmd
    to the backend from the target's cmd receiving context.
    
    Subsequent commits will allow the user to config what they prefer, but
    drivers like loop can't directly submit because they can be called from a
    context that can't sleep. And, drivers like vhost-scsi can support direct
    submission, but need to keep their default behavior of deferring execution
    to avoid possible regressions where the backend can block.
    
    Make the drivers tell LIO core if they support direct submissions and their
    current default, so we can prevent users from misconfiguring the system and
    initialize devices correctly.
    Signed-off-by: default avatarMike Christie <michael.christie@oracle.com>
    Link: https://lore.kernel.org/r/20230928020907.5730-2-michael.christie@oracle.comSigned-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    194605d4
efct_lio.c 44.4 KB