• G
    lsi: Reselection needed to remove pending commands from queue · 56333e69
    George Kennedy 提交于
    Under heavy IO (e.g. fio) the queue is not checked frequently enough for
    pending commands. As a result some pending commands are timed out by the
    linux sym53c8xx driver, which sends SCSI Abort messages for the timed out
    commands. The SCSI Abort messages result in linux errors, which show up
    on the console and in /var/log/messages.
    
    e.g.
    sd 0:0:3:0: [sdd] tag#33 ABORT operation started
    scsi target0:0:3: control msgout:
    80 20 47 d
    sd 0:0:3:0: ABORT operation complete.
    scsi target0:0:4: message d sent on bad reselection
    
    Now following a WAIT DISCONNECT Script instruction, and if there is no
    current command, check for a pending command on the queue and if one
    exists call lsi_reselect().
    Signed-off-by: NGeorge Kennedy <george.kennedy@oracle.com>
    Message-Id: <1541776692-12271-1-git-send-email-george.kennedy@oracle.com>
    [For safety, add a s->current check in lsi_update_irq - Paolo]
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    56333e69
lsi53c895a.c 66.1 KB