]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Mar 2011 17:05:23 +0000 (10:05 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Mar 2011 17:05:23 +0000 (10:05 -0700)
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  pstore: cleanups to pstore_dump()
  [IA64] New syscalls for 2.6.39

arch/ia64/include/asm/unistd.h
arch/ia64/kernel/entry.S
fs/pstore/platform.c

index 954d398a54b4e7f60de2aaeabef172a0774fd93f..404d037c5e10e4460ac04373051986fae9f874d5 100644 (file)
 #define __NR_fanotify_init             1323
 #define __NR_fanotify_mark             1324
 #define __NR_prlimit64                 1325
+#define __NR_name_to_handle_at         1326
+#define __NR_open_by_handle_at         1327
+#define __NR_clock_adjtime             1328
+#define __NR_syncfs                    1329
 
 #ifdef __KERNEL__
 
 
-#define NR_syscalls                    302 /* length of syscall table */
+#define NR_syscalls                    306 /* length of syscall table */
 
 /*
  * The following defines stop scripts/checksyscalls.sh from complaining about
index 244704a174dec2d79efca8481165cc978a1a7c3a..6de2e23b3636e422e6e3e7ca09f69decb6b9a310 100644 (file)
@@ -1771,6 +1771,10 @@ sys_call_table:
        data8 sys_fanotify_init
        data8 sys_fanotify_mark
        data8 sys_prlimit64                     // 1325
+       data8 sys_name_to_handle_at
+       data8 sys_open_by_handle_at
+       data8 sys_clock_adjtime
+       data8 sys_syncfs
 
        .org sys_call_table + 8*NR_syscalls     // guard against failures to increase NR_syscalls
 #endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */
index ce9ad84d5dd9fdbefcf03530396e88e29b6408aa..f835a25625ff5c7e74e5834cc9e6057697d02941 100644 (file)
@@ -48,6 +48,10 @@ 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"
+};
+
 /*
  * callback from kmsg_dump. (s2,l2) has the most recently
  * written bytes, older bytes are in (s1,l1). Save as much
@@ -61,15 +65,20 @@ 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;
+       char            *dst, *why;
        u64             id;
        int             hsize, part = 1;
 
+       if (reason < ARRAY_SIZE(reason_str))
+               why = reason_str[reason];
+       else
+               why = "Unknown";
+
        mutex_lock(&psinfo->buf_mutex);
        oopscount++;
        while (total < kmsg_bytes) {
                dst = psinfo->buf;
-               hsize = sprintf(dst, "Oops#%d Part%d\n", oopscount, part++);
+               hsize = sprintf(dst, "%s#%d Part%d\n", why, oopscount, part++);
                size = psinfo->bufsize - hsize;
                dst += hsize;
 
@@ -86,7 +95,7 @@ static void pstore_dump(struct kmsg_dumper *dumper,
                memcpy(dst + l1_cpy, s2 + s2_start, l2_cpy);
 
                id = psinfo->write(PSTORE_TYPE_DMESG, hsize + l1_cpy + l2_cpy);
-               if (pstore_is_mounted())
+               if (reason == KMSG_DUMP_OOPS && pstore_is_mounted())
                        pstore_mkfile(PSTORE_TYPE_DMESG, psinfo->name, id,
                                      psinfo->buf, hsize + l1_cpy + l2_cpy,
                                      CURRENT_TIME, psinfo->erase);