From: Adrian Hunter <[email protected]>

Let the back end tweak pstore behaviour.  Flags added are:

        PSTORE_NO_HEADINGS

                Omit pstore heading lines from dumped data

        PSTORE_MAX_KMSG_BYTES

                Default kmsg_bytes to ULONG_MAX

Signed-off-by: Adrian Hunter <[email protected]>
--
 fs/pstore/platform.c   |    9 ++++++++-
 include/linux/pstore.h |    4 ++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index a40da07..c4ea778 100644
-- a/fs/pstore/platform.c
++ b/fs/pstore/platform.c
@@ -128,7 +128,11 @@ static void pstore_dump(struct kmsg_dumper *dumper,
                size_t len;
 
                dst = psinfo->buf;
                hsize = sprintf(dst, "%s#%d Part%d\n", why, oopscount, part);
                if (psinfo->flags & PSTORE_NO_HEADINGS)
                        hsize = 0;
                else
                        hsize = sprintf(dst, "%s#%d Part%d\n", why, oopscount,
                                        part);
                size = psinfo->bufsize - hsize;
                dst += hsize;
 
@@ -237,6 +241,9 @@ int pstore_register(struct pstore_info *psi)
                return -EINVAL;
        }
 
        if (psinfo->flags & PSTORE_MAX_KMSG_BYTES)
                kmsg_bytes = ULONG_MAX;

        if (pstore_is_mounted())
                pstore_get_records(0);
 
diff --git a/include/linux/pstore.h b/include/linux/pstore.h
index ee3034a..55ab23f 100644
-- a/include/linux/pstore.h
++ b/include/linux/pstore.h
@@ -40,9 +40,13 @@ enum pstore_type_id {
 
 struct module;
 
#define PSTORE_NO_HEADINGS      BIT(0)
#define PSTORE_MAX_KMSG_BYTES   BIT(1)

 struct pstore_info {
        struct module   *owner;
        char            *name;
        unsigned int    flags;
        spinlock_t      buf_lock;       /* serialize access to 'buf' */
        char            *buf;
        size_t          bufsize;
- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to