70 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <linux/kernel.h>3#include "ubifs.h"4 5/* Normal UBIFS messages */6void ubifs_msg(const struct ubifs_info *c, const char *fmt, ...)7{8 struct va_format vaf;9 va_list args;10 11 va_start(args, fmt);12 13 vaf.fmt = fmt;14 vaf.va = &args;15 16 pr_notice("UBIFS (ubi%d:%d): %pV\n",17 c->vi.ubi_num, c->vi.vol_id, &vaf);18 19 va_end(args);20} \21 22/* UBIFS error messages */23void ubifs_err(const struct ubifs_info *c, const char *fmt, ...)24{25 struct va_format vaf;26 va_list args;27 28 va_start(args, fmt);29 30 vaf.fmt = fmt;31 vaf.va = &args;32 33 pr_err("UBIFS error (ubi%d:%d pid %d): %ps: %pV\n",34 c->vi.ubi_num, c->vi.vol_id, current->pid,35 __builtin_return_address(0),36 &vaf);37 38 va_end(args);39} \40 41/* UBIFS warning messages */42void ubifs_warn(const struct ubifs_info *c, const char *fmt, ...)43{44 struct va_format vaf;45 va_list args;46 47 va_start(args, fmt);48 49 vaf.fmt = fmt;50 vaf.va = &args;51 52 pr_warn("UBIFS warning (ubi%d:%d pid %d): %ps: %pV\n",53 c->vi.ubi_num, c->vi.vol_id, current->pid,54 __builtin_return_address(0),55 &vaf);56 57 va_end(args);58}59 60static char *assert_names[] = {61 [ASSACT_REPORT] = "report",62 [ASSACT_RO] = "read-only",63 [ASSACT_PANIC] = "panic",64};65 66const char *ubifs_assert_action_name(struct ubifs_info *c)67{68 return assert_names[c->assert_action];69}70