Claims
- 1. A method for processing Input/Output (I/O) requests to a storage network including at least one storage device and at least two adaptors, wherein each adaptor is capable of communicating I/O requests to the at least one storage device, comprising:
detecting an error in a system including a first adaptor, wherein the first adaptor is capable of communicating on the storage network after the error is detected; in response to detecting the error, initiating a monitoring state to monitor I/O requests transmitted through a second adaptor; in response to receiving an I/O request, starting an I/O delay timer that is less than a system timeout period, wherein an error recovery procedure in the system including the first adaptor would be initiated after the system timeout period has expired; and sending a reset request to the first adaptor in response to detecting an expiration of one started I/O delay timer.
- 2. The method of claim 1, wherein the detected error indicates that the first adaptor is unable to communicate to the system housing the first adaptor.
- 3. The method of claim 1, wherein I/O requests continue to be processed through the second adaptor until the reset request is sent.
- 4. The method of claim 1, further comprising:
starting a monitoring timer equivalent to the system timeout period after detecting the error at the first adaptor; and terminating the monitoring state and any pending I/O delay timers after the monitoring timer expires.
- 5. The method of claim 1, wherein sending the reset request further comprises:
issuing a get identifier request to obtain an identifier of the first adaptor, wherein the reset request is sent to the obtained identifier if the identifier is returned in response to the get identifier request.
- 6. The method of claim 5, further comprising:
terminating the monitoring state and any pending I/O delay timers after sending the reset request.
- 7. The method of claim 5, further comprising:
issuing another get identifier request to the first adaptor if a previous get identifier request failed.
- 8. The method of claim 5, further comprising:
starting a monitoring timer equivalent to the adaptor timeout period after detecting the error at the first adaptor; beginning a process to issue an additional get identifier request to the first adaptor if any previous get identifier request failed; and terminating the monitoring state, any pending I/O delay timers, and the process to issue additional get identifier requests after an expiration of the monitoring timer.
- 9. The method of claim 1, wherein the steps of initiating a monitoring state, starting the I/O delay timer and sending the reset request are performed by a device driver executing in an operating system.
- 10. The method of claim 9, wherein the system including the first adaptor is a first system, wherein the device driver and the operating system are in a second system.
- 11. The method of claim 9, wherein the second adaptor is within the system including the first adaptor, and wherein the reset causes a reset of the first adaptor.
- 12. The method of claim 11, wherein the reset of the first adaptor does not effect the second adaptor.
- 13. The method of claim 1, wherein the storage network on which the adaptors and storage devices communicate comprises a loop topology.
- 14. The method of claim 13, wherein the adaptors and storage devices communicate using the Serial Storage Architecture (SSA) protocol.
- 15. The method of claim 1, wherein the detected error indicates an error within the first adaptor.
- 16. The method of claim 1, wherein the reset causes a reset of the first adaptor and not other components within the system including the first adaptor.
- 17. The method of claim 1, wherein the reset causes a power cycle of the system including the first adaptor.
- 18. A system for processing Input/Output (I/O) requests to a storage network including at least one storage device and a system including a first adaptor capable of communicating I/O requests to at least one storage device, wherein the system including the first adaptor initiates an error recovery procedure after a system timeout period has expired, comprising:
a second adaptor capable of communicating on the storage network; means for detecting an error in the system including the first adaptor, wherein the first adaptor is capable of communicating on the storage network after the error is detected; means for initiating a monitoring state to monitor I/O requests transmitted through a second adaptor in response to detecting the error; means for starting an I/O delay timer that is less than a system timeout period in response to receiving an I/O request; and means for sending a reset request to the first adaptor in response to detecting an expiration of one started I/O delay timer.
- 19. The system of claim 18, wherein the detected error indicates that the first adaptor is unable to communicate to the system housing the first adaptor.
- 20. The system of claim 18, wherein I/O requests continue to be processed through the second adaptor until the reset request is sent.
- 21. The system of claim 18, further comprising:
means for starting a monitoring timer equivalent to the system timeout period after detecting the error at the first adaptor; and means for terminating the monitoring state and any pending I/O delay timers after the monitoring timer expires.
- 22. The system of claim 18, wherein the means for sending the reset request further performs:
issuing a get identifier request to obtain an identifier of the first adaptor, wherein the reset request is sent to the obtained identifier if the identifier is returned in response to the get identifier request.
- 23. The system of claim 22, further comprising:
means for terminating the monitoring state and any pending I/O delay timers after sending the reset request.
- 24. The system of claim 22, further comprising:
means for issuing another get identifier request to the first adaptor if a previous get identifier request failed.
- 25. The system of claim 22, further comprising:
means for starting a monitoring timer equivalent to the adaptor timeout period after detecting the error at the first adaptor; means for beginning a process to issue an additional get identifier request to the first adaptor if any previous get identifier request failed; and means for terminating the monitoring state, any pending I/O delay timers, and the process to issue additional get identifier requests after an expiration of the monitoring timer.
- 26. The system of claim 18, further comprising:
an operating system; and a device driver executing in the operating system, wherein the steps of initiating a monitoring state, starting the I/O delay timer and sending the reset request are performed by the device driver.
- 27. The system of claim 26, wherein the system including the first adaptor is a separate system accessible over the storage network.
- 28. The system of claim 26, wherein the second adaptor is within the system including the first adaptor, and wherein the reset causes a reset of the first adaptor.
- 29. The system of claim 28, wherein the reset of the first adaptor does not effect the second adaptor.
- 30. The system of claim 18, wherein the storage network on which the adaptors and storage devices communicate comprises a loop topology.
- 31. The system of claim 30, wherein the adaptors and storage devices communicate using the Serial Storage Architecture (SSA) protocol.
- 32. The system of claim 18, wherein the detected error indicates an error within the first adaptor.
- 33. The system of claim 18, wherein the reset causes a reset of the first adaptor and not other components within the system including the first adaptor.
- 34. The system of claim 18, wherein the reset causes a power cycle of the system including the first adaptor.
- 35. An article of manufacture including code for processing Input/Output (I/O) requests to a storage network including at least one storage device and at least two adaptors, wherein each adaptor is capable of communicating I/O requests to the at least one storage device, wherein the code is capable of causing operations to be performed comprising:
detecting an error in a system including a first adaptor, wherein the first adaptor is capable of communicating on the storage network after the error is detected; in response to detecting the error, initiating a monitoring state to monitor I/O requests transmitted through a second adaptor; in response to receiving an I/O request, starting an I/O delay timer that is less than a system timeout period, wherein an error recovery procedure in the system including the first adaptor would be initiated after the system timeout period has expired; and sending a reset request to the first adaptor in response to detecting an expiration of one started I/O delay timer.
- 36. The system of claim 35, wherein the detected error indicates that the first adaptor is unable to communicate to the system housing the first adaptor.
- 37. The system of claim 35, wherein I/O requests continue to be processed through the second adaptor until the reset request is sent.
- 38. The system of claim 35, further comprising:
starting a monitoring timer equivalent to the system timeout period after detecting the error at the first adaptor; and terminating the monitoring state and any pending I/O delay timers after the monitoring timer expires.
- 39. The system of claim 35, wherein sending the reset request further comprises:
issuing a get identifier request to obtain an identifier of the first adaptor, wherein the reset request is sent to the obtained identifier if the identifier is returned in response to the get identifier request.
- 40. The system of claim 39, further comprising:
terminating the monitoring state and any pending I/O delay timers after sending the reset request.
- 41. The system of claim 39, further comprising:
issuing another get identifier request to the first adaptor if a previous get identifier request failed.
- 42. The system of claim 39, further comprising:
starting a monitoring timer equivalent to the adaptor timeout period after detecting the error at the first adaptor; beginning a process to issue an additional get identifier request to the first adaptor if any previous get identifier request failed; and terminating the monitoring state, any pending I/O delay timers, and the process to issue additional get identifier requests after an expiration of the monitoring timer.
- 43. The system of claim 35, wherein the steps of initiating a monitoring state, starting the I/O delay timer and sending the reset request are performed by a device driver executing in an operating system.
- 44. The system of claim 43, wherein the system including the first adaptor is a first system, wherein the device driver and the operating system are in a second system.
- 45. The system of claim 43, wherein the second adaptor is within the system including the first adaptor, and wherein the reset causes a reset of the first adaptor.
- 46. The system of claim 45, wherein the reset of the first adaptor does not effect the second adaptor.
- 47. The system of claim 35, wherein the storage network on which the adaptors and storage devices communicate comprises a loop topology.
- 48. The system of claim 47, wherein the adaptors and storage devices communicate using the Serial Storage Architecture (SSA) protocol.
- 49. The system of claim 35, wherein the detected error indicates an error within the first adaptor.
- 50. The system of claim 35, wherein the reset causes a reset of the first adaptor and not other components within the system including the first adaptor.
- 51. The system of claim 35, wherein the reset causes a power cycle of the system including the first adaptor.
RELATED APPLICATIONS
[0001] This application is related to the copending and commonly assigned United States patent application entitled “Method, System, and Program for Error Handling in a Dual Adaptor System Where One Adaptor Is a Master”, having attorney docket no. TUC920010104US1, which patent application was filed on the same date herewith and is incorporated herein by reference in its entirety.