Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3470345imu; Mon, 7 Jan 2019 04:05:59 -0800 (PST) X-Google-Smtp-Source: ALg8bN5qKRBFK0lv99K36rP4oZb85grgS7ubrbcyw+tqvTqBOyixAmIroAYh3xs3qQs1ksOLd16l X-Received: by 2002:a63:ff16:: with SMTP id k22mr30011026pgi.244.1546862759275; Mon, 07 Jan 2019 04:05:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546862759; cv=none; d=google.com; s=arc-20160816; b=xHzis+BBiV2NsSnD+DbvkaBdUSYEiXJP1kVEEfa/tqikKk2abVI/UBZDUmkGr21Cf7 pvDLWGw5TTVE+XzJ6D7pwAzK21MrZ5sq8YwoTHEYAr1dSS4Dl64YEdxXoAsM1HSww0BQ GBiML3jp3DryJzl/nd/Rrcj9W4Vyhe5TuV+b9PKRnQencBjZC3pMvyfHQK3GryJEGySr gtAdaYcHiD855qFW2absEyX2ruZ93oW2nX+xpShSYkN8i/7bqqjXJDKSbGp+QYRHREqN Ww8sP4u7j4qlb0Fj3mT53Lbt6mC0h7oBdwbDUmPKKJeCDaYIJaa4WOPi38e+BZR52UQx Buhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=pKdufVZ4MgypF0Tb5pY0KQJK79rHQyegQkci9Zz6V0g=; b=odytg3UlN7IzDm6qjtBYocXlBBR7dfy6f9ZzZOCCshtFjilMvpdNph3Bnmxtorp/U+ jSbsTj+KJWH+DpjbOk4Aufl78ezmcAq1QDCCcv7ePSboZjSnfixS72aE1tBe90y7qh0b rNcpsC4n5/wjmjeqtJXNkvjo19NoZ5MEpv0El7pfEmkHwgV2wHHNDY+GLN6QKIvXulHS h/zdFDAFp7jpaQ12MW8qfQwRe50A7wc0R4jBJfz/lwdHJjMPPlchQaVk03F84N7gSEkY rsdXm9r61c+JZih/w4sHHNDP26MHwWHShq5Z2a5+C53Jre5raZQFfixbFT+gzcV+n4Kb 6ARQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n20si18679313plp.294.2019.01.07.04.05.43; Mon, 07 Jan 2019 04:05:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726873AbfAGMB4 (ORCPT + 99 others); Mon, 7 Jan 2019 07:01:56 -0500 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:45051 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726535AbfAGMBz (ORCPT ); Mon, 7 Jan 2019 07:01:55 -0500 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.07520836|-1;CH=green;FP=0|0|0|0|0|-1|-1|-1;HT=e02c03301;MF=liaoweixiong@allwinnertech.com;NM=1;PH=DS;RN=14;RT=14;SR=0;TI=SMTPD_---.DibxlYK_1546862495; Received: from PC-liaoweixiong.allwinnertech.com(mailfrom:liaoweixiong@allwinnertech.com fp:SMTPD_---.DibxlYK_1546862495) by smtp.aliyun-inc.com(10.147.40.200); Mon, 07 Jan 2019 20:01:47 +0800 From: liaoweixiong To: Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck , Jonathan Corbet , Mauro Carvalho Chehab , Greg Kroah-Hartman , "David S. Miller" , Andrew Morton , Nicolas Ferre , Arnd Bergmann Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, liaoweixiong Subject: [RFC v5 2/4] pstore/blk: add sample for pstore_blk Date: Mon, 7 Jan 2019 20:01:00 +0800 Message-Id: <1546862462-19640-3-git-send-email-liaoweixiong@allwinnertech.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1546862462-19640-1-git-send-email-liaoweixiong@allwinnertech.com> References: <1546862462-19640-1-git-send-email-liaoweixiong@allwinnertech.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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 + * + * 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 +#include +#include + +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 "); +MODULE_DESCRIPTION("Sample for Pstore BLK with Oops logger"); -- 1.9.1