brintos

brintos / linux-shallow public Read only

0
0
Text · 2.4 KiB · 426dc8e Raw
87 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright 2023 Red Hat4 */5 6#ifndef VDO_STATUS_CODES_H7#define VDO_STATUS_CODES_H8 9#include "errors.h"10 11enum {12	UDS_ERRORS_BLOCK_SIZE = UDS_ERROR_CODE_BLOCK_END - UDS_ERROR_CODE_BASE,13	VDO_ERRORS_BLOCK_START = UDS_ERROR_CODE_BLOCK_END,14	VDO_ERRORS_BLOCK_END = VDO_ERRORS_BLOCK_START + UDS_ERRORS_BLOCK_SIZE,15};16 17/* VDO-specific status codes. */18enum vdo_status_codes {19	/* base of all VDO errors */20	VDO_STATUS_CODE_BASE = VDO_ERRORS_BLOCK_START,21	/* we haven't written this yet */22	VDO_NOT_IMPLEMENTED = VDO_STATUS_CODE_BASE,23	/* input out of range */24	VDO_OUT_OF_RANGE,25	/* an invalid reference count would result */26	VDO_REF_COUNT_INVALID,27	/* a free block could not be allocated */28	VDO_NO_SPACE,29	/* improper or missing configuration option */30	VDO_BAD_CONFIGURATION,31	/* prior operation still in progress */32	VDO_COMPONENT_BUSY,33	/* page contents incorrect or corrupt data */34	VDO_BAD_PAGE,35	/* unsupported version of some component */36	VDO_UNSUPPORTED_VERSION,37	/* component id mismatch in decoder */38	VDO_INCORRECT_COMPONENT,39	/* parameters have conflicting values */40	VDO_PARAMETER_MISMATCH,41	/* no partition exists with a given id */42	VDO_UNKNOWN_PARTITION,43	/* a partition already exists with a given id */44	VDO_PARTITION_EXISTS,45	/* physical block growth of too few blocks */46	VDO_INCREMENT_TOO_SMALL,47	/* incorrect checksum */48	VDO_CHECKSUM_MISMATCH,49	/* a lock is held incorrectly */50	VDO_LOCK_ERROR,51	/* the VDO is in read-only mode */52	VDO_READ_ONLY,53	/* the VDO is shutting down */54	VDO_SHUTTING_DOWN,55	/* the recovery journal has corrupt entries or corrupt metadata */56	VDO_CORRUPT_JOURNAL,57	/* exceeds maximum number of slabs supported */58	VDO_TOO_MANY_SLABS,59	/* a compressed block fragment is invalid */60	VDO_INVALID_FRAGMENT,61	/* action is unsupported while rebuilding */62	VDO_RETRY_AFTER_REBUILD,63	/* a block map entry is invalid */64	VDO_BAD_MAPPING,65	/* bio_add_page failed */66	VDO_BIO_CREATION_FAILED,67	/* bad magic number */68	VDO_BAD_MAGIC,69	/* bad nonce */70	VDO_BAD_NONCE,71	/* sequence number overflow */72	VDO_JOURNAL_OVERFLOW,73	/* the VDO is not in a state to perform an admin operation */74	VDO_INVALID_ADMIN_STATE,75	/* one more than last error code */76	VDO_STATUS_CODE_LAST,77	VDO_STATUS_CODE_BLOCK_END = VDO_ERRORS_BLOCK_END78};79 80extern const struct error_info vdo_status_list[];81 82int vdo_register_status_codes(void);83 84int vdo_status_to_errno(int error);85 86#endif /* VDO_STATUS_CODES_H */87