drivers/md/dm-vdo/status-codes.h
Source file repositories/reference/linux-study-clean/drivers/md/dm-vdo/status-codes.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/md/dm-vdo/status-codes.h- Extension
.h- Size
- 2466 bytes
- Lines
- 87
- Domain
- Driver Families
- Bucket
- drivers/md
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
errors.h
Detected Declarations
enum vdo_status_codes
Annotated Snippet
#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 */
Annotation
- Immediate include surface: `errors.h`.
- Detected declarations: `enum vdo_status_codes`.
- Atlas domain: Driver Families / drivers/md.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.