From: liaoweixiong <liaoweixiong@allwinnertech.com>
To: Kees Cook <keescook@chromium.org>,
Anton Vorontsov <anton@enomsg.org>,
Colin Cross <ccross@android.com>, Tony Luck <tony.luck@intel.com>,
Jonathan Corbet <corbet@lwn.net>,
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"David S. Miller" <davem@davemloft.net>,
Andrew Morton <akpm@linux-foundation.org>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Arnd Bergmann <arnd@arndb.de>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
liaoweixiong <liaoweixiong@allwinnertech.com>
Subject: [RFC v5 2/4] pstore/blk: add sample for pstore_blk
Date: Mon, 7 Jan 2019 20:01:00 +0800 [thread overview]
Message-ID: <1546862462-19640-3-git-send-email-liaoweixiong@allwinnertech.com> (raw)
In-Reply-To: <1546862462-19640-1-git-send-email-liaoweixiong@allwinnertech.com>
It is a sample for pstore_blk, using general ram rather than block device.
According to pstore_blk, the data will be saved to ram buffer if not
register device path and apis for panic. So, it can only used to dump
Oops and some things will not reboot.
Signed-off-by: liaoweixiong <liaoweixiong@allwinnertech.com>
---
fs/pstore/Kconfig | 9 +++++++++
fs/pstore/Makefile | 2 ++
fs/pstore/blkbuf.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 57 insertions(+)
create mode 100644 fs/pstore/blkbuf.c
diff --git a/fs/pstore/Kconfig b/fs/pstore/Kconfig
index a881c53..18b1fe6 100644
--- a/fs/pstore/Kconfig
+++ b/fs/pstore/Kconfig
@@ -159,3 +159,12 @@ config PSTORE_BLK
help
This enables panic and oops message to be logged to a block dev
where it can be read back at some later point.
+
+config PSTORE_BLKBUF
+ tristate "pstore block buffer sample"
+ depends on PSTORE_BLK
+ help
+ This is a sample for pstore block, but do NOT have a block dev.
+ According to pstore_blk, the data will be saved to ram buffer and
+ dropped when reboot. So, it can only used to dump Oops and some
+ things will not reboot.
diff --git a/fs/pstore/Makefile b/fs/pstore/Makefile
index c431700..4a6cde1 100644
--- a/fs/pstore/Makefile
+++ b/fs/pstore/Makefile
@@ -15,3 +15,5 @@ obj-$(CONFIG_PSTORE_RAM) += ramoops.o
obj-$(CONFIG_PSTORE_BLK) += pstore_blk.o
pstore_blk-y += blkzone.o
+
+obj-$(CONFIG_PSTORE_BLKBUF) += blkbuf.o
diff --git a/fs/pstore/blkbuf.c b/fs/pstore/blkbuf.c
new file mode 100644
index 0000000..f1c6f57
--- /dev/null
+++ b/fs/pstore/blkbuf.c
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ *
+ * blkbuf.c: Block device Oops/Panic logger
+ *
+ * Copyright (C) 2019 liaoweixiong <liaoweixiong@gallwinnertech.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+#define pr_fmt(fmt) "blkbuf: " fmt
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/pstore_blk.h>
+
+struct blkz_info blkbuf_info = {
+ .owner = THIS_MODULE,
+ .name = "blkbuf",
+ .part_size = 512 * 1024,
+ .dmesg_size = 64 * 1024,
+ .dump_oops = true,
+};
+
+static int __init blkbuf_init(void)
+{
+ return blkz_register(&blkbuf_info);
+}
+module_init(blkbuf_init);
+
+static void __exit blkbuf_exit(void)
+{
+ blkz_unregister(&blkbuf_info);
+}
+module_exit(blkbuf_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("liaoweixiong <liaoweixiong@allwinnertech.com>");
+MODULE_DESCRIPTION("Sample for Pstore BLK with Oops logger");
--
1.9.1
next prev parent reply other threads:[~2019-01-07 12:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-07 12:00 [RFC v5 0/4] pstore/block: new support logger for block devices liaoweixiong
2019-01-07 12:00 ` [RFC v5 1/4] pstore/blk: " liaoweixiong
2019-01-18 0:12 ` Kees Cook
2019-01-19 8:53 ` liaoweixiong
2019-01-23 18:19 ` Aaro Koskinen
2019-01-24 13:27 ` liaoweixiong
2019-01-07 12:01 ` liaoweixiong [this message]
2019-01-18 0:15 ` [RFC v5 2/4] pstore/blk: add sample for pstore_blk Kees Cook
2019-01-18 0:21 ` Kees Cook
2019-01-19 9:26 ` 廖威雄
2019-01-19 9:28 ` liaoweixiong
2019-01-19 9:20 ` liaoweixiong
2019-01-07 12:01 ` [RFC v5 3/4] pstore/blk: support pmsg for pstore block liaoweixiong
2019-01-18 0:17 ` Kees Cook
2019-01-23 11:11 ` 廖威雄
2019-01-23 11:11 ` liaoweixiong
2019-01-07 12:01 ` [RFC v5 4/4] Documentation: pstore/blk: create document for pstore_blk liaoweixiong
2019-01-18 0:18 ` Kees Cook
2019-01-07 21:47 ` [RFC v5 0/4] pstore/block: new support logger for block devices Kees Cook
2019-01-08 2:19 ` 廖威雄
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1546862462-19640-3-git-send-email-liaoweixiong@allwinnertech.com \
--to=liaoweixiong@allwinnertech.com \
--cc=akpm@linux-foundation.org \
--cc=anton@enomsg.org \
--cc=arnd@arndb.de \
--cc=ccross@android.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=keescook@chromium.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab+samsung@kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®