ioerror_handling.h
来自「优龙2410linux2.6.8内核源代码」· C头文件 代码 · 共 160 行
H
160 行
/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved. */#ifndef _ASM_IA64_SN_IOERROR_HANDLING_H#define _ASM_IA64_SN_IOERROR_HANDLING_H#include <linux/types.h>#include <asm/sn/sgi.h>#ifdef __KERNEL__/* * Basic types required for io error handling interfaces. *//* * Return code from the io error handling interfaces. */enum error_return_code_e { /* Success */ ERROR_RETURN_CODE_SUCCESS, /* Unknown failure */ ERROR_RETURN_CODE_GENERAL_FAILURE, /* Nth error noticed while handling the first error */ ERROR_RETURN_CODE_NESTED_CALL, /* State of the vertex is invalid */ ERROR_RETURN_CODE_INVALID_STATE, /* Invalid action */ ERROR_RETURN_CODE_INVALID_ACTION, /* Valid action but not cannot set it */ ERROR_RETURN_CODE_CANNOT_SET_ACTION, /* Valid action but not possible for the current state */ ERROR_RETURN_CODE_CANNOT_PERFORM_ACTION, /* Valid state but cannot change the state of the vertex to it */ ERROR_RETURN_CODE_CANNOT_SET_STATE, /* ??? */ ERROR_RETURN_CODE_DUPLICATE, /* Reached the root of the system critical graph */ ERROR_RETURN_CODE_SYS_CRITICAL_GRAPH_BEGIN, /* Reached the leaf of the system critical graph */ ERROR_RETURN_CODE_SYS_CRITICAL_GRAPH_ADD, /* Cannot shutdown the device in hw/sw */ ERROR_RETURN_CODE_SHUTDOWN_FAILED, /* Cannot restart the device in hw/sw */ ERROR_RETURN_CODE_RESET_FAILED, /* Cannot failover the io subsystem */ ERROR_RETURN_CODE_FAILOVER_FAILED, /* No Jump Buffer exists */ ERROR_RETURN_CODE_NO_JUMP_BUFFER};typedef uint64_t error_return_code_t;/* * State of the vertex during error handling. */enum error_state_e { /* Ignore state */ ERROR_STATE_IGNORE, /* Invalid state */ ERROR_STATE_NONE, /* Trying to decipher the error bits */ ERROR_STATE_LOOKUP, /* Trying to carryout the action decided upon after * looking at the error bits */ ERROR_STATE_ACTION, /* Donot allow any other operations to this vertex from * other parts of the kernel. This is also used to indicate * that the device has been software shutdown. */ ERROR_STATE_SHUTDOWN, /* This is a transitory state when no new requests are accepted * on behalf of the device. This is usually used when trying to * quiesce all the outstanding operations and preparing the * device for a failover / shutdown etc. */ ERROR_STATE_SHUTDOWN_IN_PROGRESS, /* This is the state when there is absolutely no activity going * on wrt device. */ ERROR_STATE_SHUTDOWN_COMPLETE, /* This is the state when the device has issued a retry. */ ERROR_STATE_RETRY, /* This is the normal state. This can also be used to indicate * that the device has been software-enabled after software- * shutting down previously. */ ERROR_STATE_NORMAL };typedef uint64_t error_state_t;/* * Generic error classes. This is used to classify errors after looking * at the error bits and helpful in deciding on the action. */enum error_class_e { /* Unclassified error */ ERROR_CLASS_UNKNOWN, /* LLP transmit error */ ERROR_CLASS_LLP_XMIT, /* LLP receive error */ ERROR_CLASS_LLP_RECV, /* Credit error */ ERROR_CLASS_CREDIT, /* Timeout error */ ERROR_CLASS_TIMEOUT, /* Access error */ ERROR_CLASS_ACCESS, /* System coherency error */ ERROR_CLASS_SYS_COHERENCY, /* Bad data error (ecc / parity etc) */ ERROR_CLASS_BAD_DATA, /* Illegal request packet */ ERROR_CLASS_BAD_REQ_PKT, /* Illegal response packet */ ERROR_CLASS_BAD_RESP_PKT};#endif /* __KERNEL__ */#endif /* _ASM_IA64_SN_IOERROR_HANDLING_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?