diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 09:24:07 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 09:24:07 -0700 |
commit | 6e55f8ed814940b0b7420ed633c08e61702bb8d4 (patch) | |
tree | 6e2afd164e3079c2102770053e7cda217778f8ec /fs/pstore | |
parent | 49d99a2f9c4d033cc3965958a1397b1fad573dd3 (diff) | |
parent | 381b872cf7942ab8c95de156ce403bd906f3915d (diff) | |
download | linux-stable-6e55f8ed814940b0b7420ed633c08e61702bb8d4.tar.gz linux-stable-6e55f8ed814940b0b7420ed633c08e61702bb8d4.tar.bz2 linux-stable-6e55f8ed814940b0b7420ed633c08e61702bb8d4.zip |
Merge tag 'pstore-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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
Diffstat (limited to 'fs/pstore')
-rw-r--r-- | fs/pstore/platform.c | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 9ec22d3b4293..82c585f715e3 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -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 @@ -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); |