Skip to content

Commit

Permalink
Merge tag 'pstore-for-linus' of git://git.kernel.org/pub/scm/linux/ke…
Browse files Browse the repository at this point in the history
…rnel/git/aegl/linux

Pull one pstore patch from Tony Luck

* tag 'pstore-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
  pstore: Introduce get_reason_str() to pstore
  • Loading branch information
Linus Torvalds committed Mar 23, 2012
2 parents 49d99a2 + 381b872 commit 6e55f8e
Showing 1 changed file with 22 additions and 8 deletions.
30 changes: 22 additions & 8 deletions fs/pstore/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,25 @@ void pstore_set_kmsg_bytes(int bytes)
/* Tag each group of saved records with a sequence number */
static int oopscount;

static char *reason_str[] = {
"Oops", "Panic", "Kexec", "Restart", "Halt", "Poweroff", "Emergency"
};
static const char *get_reason_str(enum kmsg_dump_reason reason)
{
switch (reason) {
case KMSG_DUMP_PANIC:
return "Panic";
case KMSG_DUMP_OOPS:
return "Oops";
case KMSG_DUMP_EMERG:
return "Emergency";
case KMSG_DUMP_RESTART:
return "Restart";
case KMSG_DUMP_HALT:
return "Halt";
case KMSG_DUMP_POWEROFF:
return "Poweroff";
default:
return "Unknown";
}
}

/*
* callback from kmsg_dump. (s2,l2) has the most recently
Expand All @@ -85,17 +101,15 @@ static void pstore_dump(struct kmsg_dumper *dumper,
unsigned long s1_start, s2_start;
unsigned long l1_cpy, l2_cpy;
unsigned long size, total = 0;
char *dst, *why;
char *dst;
const char *why;
u64 id;
int hsize, ret;
unsigned int part = 1;
unsigned long flags = 0;
int is_locked = 0;

if (reason < ARRAY_SIZE(reason_str))
why = reason_str[reason];
else
why = "Unknown";
why = get_reason_str(reason);

if (in_nmi()) {
is_locked = spin_trylock(&psinfo->buf_lock);
Expand Down

0 comments on commit 6e55f8e

Please sign in to comment.