| // SPDX-License-Identifier: GPL-2.0 | |
| #include <linux/kernel.h> | |
| #include "ubifs.h" | |
| /* Normal UBIFS messages */ | |
| void ubifs_msg(const struct ubifs_info *c, const char *fmt, ...) | |
| { | |
| struct va_format vaf; | |
| va_list args; | |
| va_start(args, fmt); | |
| vaf.fmt = fmt; | |
| vaf.va = &args; | |
| pr_notice("UBIFS (ubi%d:%d): %pV\n", | |
| c->vi.ubi_num, c->vi.vol_id, &vaf); | |
| va_end(args); | |
| } \ | |
| /* UBIFS error messages */ | |
| void ubifs_err(const struct ubifs_info *c, const char *fmt, ...) | |
| { | |
| struct va_format vaf; | |
| va_list args; | |
| va_start(args, fmt); | |
| vaf.fmt = fmt; | |
| vaf.va = &args; | |
| pr_err("UBIFS error (ubi%d:%d pid %d): %ps: %pV\n", | |
| c->vi.ubi_num, c->vi.vol_id, current->pid, | |
| __builtin_return_address(0), | |
| &vaf); | |
| va_end(args); | |
| } \ | |
| /* UBIFS warning messages */ | |
| void ubifs_warn(const struct ubifs_info *c, const char *fmt, ...) | |
| { | |
| struct va_format vaf; | |
| va_list args; | |
| va_start(args, fmt); | |
| vaf.fmt = fmt; | |
| vaf.va = &args; | |
| pr_warn("UBIFS warning (ubi%d:%d pid %d): %ps: %pV\n", | |
| c->vi.ubi_num, c->vi.vol_id, current->pid, | |
| __builtin_return_address(0), | |
| &vaf); | |
| va_end(args); | |
| } | |
| static char *assert_names[] = { | |
| [ASSACT_REPORT] = "report", | |
| [ASSACT_RO] = "read-only", | |
| [ASSACT_PANIC] = "panic", | |
| }; | |
| const char *ubifs_assert_action_name(struct ubifs_info *c) | |
| { | |
| return assert_names[c->assert_action]; | |
| } |