drivers/md/dm-vdo/permassert.c

Source file repositories/reference/linux-study-clean/drivers/md/dm-vdo/permassert.c

File Facts

System
Linux kernel
Corpus path
drivers/md/dm-vdo/permassert.c
Extension
.c
Size
567 bytes
Lines
27
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.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright 2023 Red Hat
 */

#include "permassert.h"

#include "errors.h"
#include "logger.h"

int vdo_assertion_failed(const char *expression_string, const char *file_name,
			 int line_number, const char *format, ...)
{
	va_list args;

	va_start(args, format);

	vdo_log_embedded_message(VDO_LOG_ERR, VDO_LOGGING_MODULE_NAME, "assertion \"",
				 format, args, "\" (%s) failed at %s:%d",
				 expression_string, file_name, line_number);
	vdo_log_backtrace(VDO_LOG_ERR);

	va_end(args);

	return UDS_ASSERTION_FAILED;
}

Annotation

Implementation Notes