Re: [RFC] SCSI EH document

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




 Hi, Jeff.

Jeff Garzik wrote:
Tejun Heo wrote:

 Hello, fellow SCSI/ATA developers.

 This is the first draft of SCSI EH document.  This document tries to
describe how SCSI EH works and what choirs should be done to maintain
SCSI midlayer integrity.  It's intended that this document can be used
as reference for implementing either fine-grained EH callbacks or
single eh_strategy_handler() callback.

 I'm pretty sure that I've screwed up in (hopefully) several places,
so please correct me.  Also, I have several places where I'm not sure
or have questions, those are marked with *VERIFY* and *QUESTION*
respectively.  If you know the answer, please let me know.


Seems sane to me at first glance.


    - EH_RESET_TIMER
    This indicates that more time is required to finish the
    command.  Timer is restarted.  This action is counted as a
    retry and only allowed scmd->allowed + 1(!) times.  Once the
    limit is reached, EH_NOT_HANDLED action is taken.

    *NOTE* This action is racy as the LLDD could finish the scmd
    after the timeout has expired but before it's added back.  In
    such cases, scsi_done() would think that timeout has occurred
    and return without doing anything.  We lose completion and the
    command will time out again.


hmmmm


[2-2-2] Post hostt->eh_strategy_handler() SCSI midlayer conditions

 The following conditions must be true on exit from the handler.

 - shost->host_failed is zero.

 - Each scmd's eh_eflags field is cleared.

 - Each scmd is in such a state that scsi_setup_cmd_retry() on the
   scmd doesn't make any difference.

 - shost->eh_cmd_q is cleared.

 - Each scmd->eh_entry is cleared.  (*VERIFY* This is currently not
   necessary for correct operation, but keep them cleared anyway for
   consistency.)


Both all the list-heads need to be cleared, otherwise there may be list corruption next time the element is added to the list_head.


scmd->eh_entry is never used as list head. It's always used as list entry. So, technically, it needs not be cleared, I think. No? The problem we had was w/ shost->eh_cmd_q not being cleared.

 Thanks.

--
tejun
-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux