[PATCH 1/8] pstore: add flags

From: dragos . tatulea
Date: Mon Oct 15 2012 - 07:35:57 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/