drivers/md/dm-vdo/logger.h
Source file repositories/reference/linux-study-clean/drivers/md/dm-vdo/logger.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/md/dm-vdo/logger.h- Extension
.h- Size
- 3162 bytes
- Lines
- 101
- 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.
Dependency Surface
linux/kern_levels.hlinux/module.hlinux/ratelimit.hlinux/device-mapper.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
if (__ratelimit(&_rs)) { \
log_fn(__VA_ARGS__); \
} \
} while (0)
int vdo_get_log_level(void);
void vdo_log_embedded_message(int priority, const char *module, const char *prefix,
const char *fmt1, va_list args1, const char *fmt2, ...)
__printf(4, 0) __printf(6, 7);
void vdo_log_backtrace(int priority);
/* All log functions will preserve the caller's value of errno. */
#define vdo_log_strerror(priority, errnum, ...) \
__vdo_log_strerror(priority, errnum, VDO_LOGGING_MODULE_NAME, __VA_ARGS__)
int __vdo_log_strerror(int priority, int errnum, const char *module,
const char *format, ...)
__printf(4, 5);
int vdo_vlog_strerror(int priority, int errnum, const char *module, const char *format,
va_list args)
__printf(4, 0);
/* Log an error prefixed with the string associated with the errnum. */
#define vdo_log_error_strerror(errnum, ...) \
vdo_log_strerror(VDO_LOG_ERR, errnum, __VA_ARGS__)
#define vdo_log_debug_strerror(errnum, ...) \
vdo_log_strerror(VDO_LOG_DEBUG, errnum, __VA_ARGS__)
#define vdo_log_info_strerror(errnum, ...) \
vdo_log_strerror(VDO_LOG_INFO, errnum, __VA_ARGS__)
#define vdo_log_warning_strerror(errnum, ...) \
vdo_log_strerror(VDO_LOG_WARNING, errnum, __VA_ARGS__)
#define vdo_log_fatal_strerror(errnum, ...) \
vdo_log_strerror(VDO_LOG_CRIT, errnum, __VA_ARGS__)
#define vdo_log_message(priority, ...) \
__vdo_log_message(priority, VDO_LOGGING_MODULE_NAME, __VA_ARGS__)
void __vdo_log_message(int priority, const char *module, const char *format, ...)
__printf(3, 4);
#define vdo_log_debug(...) vdo_log_message(VDO_LOG_DEBUG, __VA_ARGS__)
#define vdo_log_info(...) vdo_log_message(VDO_LOG_INFO, __VA_ARGS__)
#define vdo_log_warning(...) vdo_log_message(VDO_LOG_WARNING, __VA_ARGS__)
#define vdo_log_error(...) vdo_log_message(VDO_LOG_ERR, __VA_ARGS__)
#define vdo_log_fatal(...) vdo_log_message(VDO_LOG_CRIT, __VA_ARGS__)
void vdo_pause_for_logger(void);
#endif /* VDO_LOGGER_H */
Annotation
- Immediate include surface: `linux/kern_levels.h`, `linux/module.h`, `linux/ratelimit.h`, `linux/device-mapper.h`.
- 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.