[PATCH 1/8] pstore: add flags

From: dragos . tatulea
Date: Mon Oct 15 2012 - 07:40:17 EST


From: Adrian Hunter <adrian.hunter@xxxxxxxxx>

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 <adrian.hunter@xxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/