| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright 2023 Red Hat
- */
- #ifndef VDO_STATUS_CODES_H
- #define VDO_STATUS_CODES_H
- #include "errors.h"
- enum {
- UDS_ERRORS_BLOCK_SIZE = UDS_ERROR_CODE_BLOCK_END - UDS_ERROR_CODE_BASE,
- VDO_ERRORS_BLOCK_START = UDS_ERROR_CODE_BLOCK_END,
- VDO_ERRORS_BLOCK_END = VDO_ERRORS_BLOCK_START + UDS_ERRORS_BLOCK_SIZE,
- };
- /* VDO-specific status codes. */
- enum vdo_status_codes {
- /* base of all VDO errors */
- VDO_STATUS_CODE_BASE = VDO_ERRORS_BLOCK_START,
- /* we haven't written this yet */
- VDO_NOT_IMPLEMENTED = VDO_STATUS_CODE_BASE,
- /* input out of range */
- VDO_OUT_OF_RANGE,
- /* an invalid reference count would result */
- VDO_REF_COUNT_INVALID,
- /* a free block could not be allocated */
- VDO_NO_SPACE,
- /* improper or missing configuration option */
- VDO_BAD_CONFIGURATION,
- /* prior operation still in progress */
- VDO_COMPONENT_BUSY,
- /* page contents incorrect or corrupt data */
- VDO_BAD_PAGE,
- /* unsupported version of some component */
- VDO_UNSUPPORTED_VERSION,
- /* component id mismatch in decoder */
- VDO_INCORRECT_COMPONENT,
- /* parameters have conflicting values */
- VDO_PARAMETER_MISMATCH,
- /* no partition exists with a given id */
- VDO_UNKNOWN_PARTITION,
- /* a partition already exists with a given id */
- VDO_PARTITION_EXISTS,
- /* physical block growth of too few blocks */
- VDO_INCREMENT_TOO_SMALL,
- /* incorrect checksum */
- VDO_CHECKSUM_MISMATCH,
- /* a lock is held incorrectly */
- VDO_LOCK_ERROR,
- /* the VDO is in read-only mode */
- VDO_READ_ONLY,
- /* the VDO is shutting down */
- VDO_SHUTTING_DOWN,
- /* the recovery journal has corrupt entries or corrupt metadata */
- VDO_CORRUPT_JOURNAL,
- /* exceeds maximum number of slabs supported */
- VDO_TOO_MANY_SLABS,
- /* a compressed block fragment is invalid */
- VDO_INVALID_FRAGMENT,
- /* action is unsupported while rebuilding */
- VDO_RETRY_AFTER_REBUILD,
- /* a block map entry is invalid */
- VDO_BAD_MAPPING,
- /* bio_add_page failed */
- VDO_BIO_CREATION_FAILED,
- /* bad magic number */
- VDO_BAD_MAGIC,
- /* bad nonce */
- VDO_BAD_NONCE,
- /* sequence number overflow */
- VDO_JOURNAL_OVERFLOW,
- /* the VDO is not in a state to perform an admin operation */
- VDO_INVALID_ADMIN_STATE,
- /* one more than last error code */
- VDO_STATUS_CODE_LAST,
- VDO_STATUS_CODE_BLOCK_END = VDO_ERRORS_BLOCK_END
- };
- extern const struct error_info vdo_status_list[];
- int vdo_register_status_codes(void);
- int vdo_status_to_errno(int error);
- #endif /* VDO_STATUS_CODES_H */
|