Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp711637imu; Wed, 23 Jan 2019 04:27:07 -0800 (PST) X-Google-Smtp-Source: ALg8bN5/i3MwRvyJo1cbWEhOCoq47JTVkC6qksACOXO9Ebup6Y2T4C07yK1f7ry26K0yjctduXIe X-Received: by 2002:a17:902:b112:: with SMTP id q18mr2021446plr.255.1548246427502; Wed, 23 Jan 2019 04:27:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548246427; cv=none; d=google.com; s=arc-20160816; b=NWruX4DDtrvdz5PABUWX/WAFqZ1zQOQiB1UsfUfgOfdqJHQ6Yh0pYi1Aysnzajv8Lr p7N15g9POIDAbJSKuW+Dh2hjp2OZ1izFT6eu1VmZK645ED5iCCrTO3HGU3xf0mxJhWw6 f83h5dN7j8BpxdSb4BqoKSN/i6nmBKYUfiTsbGKn2NMXPX60iYVJr1H6b4dnHuS/pKFD Pg59bDeTt5Ik0JhGdZfZMahA7kKyjnXrZzJSS4kYQqRVAYETWR22Ka+wAN2lr3V1VCO7 yt5Ar80JAqX4u3huyFcr5qTRKcJZCpkeBTm07R44Is2Lk5uynbWOEdR8lfj/f77QgM/+ ehgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=cvcPaJoktmkstHfrNRVxNEPAM01heo3LO8W0RGn4rtQ=; b=RPUG8QnAuSdtYf3XnSmfqvr8/4SWdT/j3J3bnho8Omut1fK9opwcSQZotsZZYgG/pa 9nUrxHbmrJjahybaWk0Xuaj3h1tKpgg0ymwedyRJt2d/E9kOUWhAI2MflTmA9xVFm+Ak U1Qb6sPF5KR5beyPMbTdJm5tiAaXWP7oWu18D/c67rNnGXjQfI2g1MVT1ZFJpZkMwOYb pOdneWm3RdJX3EsDN7RTq0rbU3mgeX9tMWN9xtY17WbpcSnBo5KujOrvIdusRKR01Y62 AtYmuwBSz/Belg3QibfBlbmHBEopPYulN1iVLB09OAtvAJwu+a0FbDoshDky61n6nf6/ TB0Q== 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 k6si20655589pgr.500.2019.01.23.04.26.51; Wed, 23 Jan 2019 04:27:07 -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 S1727198AbfAWMGH (ORCPT + 99 others); Wed, 23 Jan 2019 07:06:07 -0500 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:44254 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725991AbfAWMGH (ORCPT ); Wed, 23 Jan 2019 07:06:07 -0500 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.0743631|-1;CH=green;FP=18001824877924635882|1|1|13|0|-1|-1|-1;HT=e01e01454;MF=liaoweixiong@allwinnertech.com;NM=1;PH=DS;RN=17;RT=17;SR=0;TI=SMTPD_---.Dpe2eW5_1548245156; Received: from PC-liaoweixiong.allwinnertech.com(mailfrom:liaoweixiong@allwinnertech.com fp:SMTPD_---.Dpe2eW5_1548245156) by smtp.aliyun-inc.com(10.147.41.178); Wed, 23 Jan 2019 20:06:00 +0800 From: liaoweixiong To: Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck , Jonathan Corbet , Rob Herring , Mark Rutland , 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, devicetree@vger.kernel.org, liaoweixiong Subject: [RFC v7 0/5] pstore/block: new support logger for block devices Date: Wed, 23 Jan 2019 20:05:11 +0800 Message-Id: <1548245116-6360-1-git-send-email-liaoweixiong@allwinnertech.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Why should we need pstore_block? 1. Most embedded intelligent equipment have no persistent ram, which increases costs. We perfer to cheaper solutions, like block devices. In fast, there is already a sample for block device logger in driver MTD (drivers/mtd/mtdoops.c). 2. Do not any equipment have battery, which means that it lost all data on general ram if power failure. Pstore has little to do for these equipments. [PATCH v7] On patch 1: 1. Fix line over 80 characters. On patch 2: 1. Insert a separate patch for DT bindings. [PATCH v6] On patch 1: 1. Fix according to email from Kees Cook, including spelling mistakes, explicit overflow test, none of the zeroing etc. 2. Do not recover data but metadata of dmesg when panic. 3. No need to take recovery when do erase. 4. Do not use "blkoops" for blkzone any more because "blkoops" is used for other module now. (rename blkbuf to blkoops) On patch 2: 1. Rename blkbuf to blkoops. 2. Add Kconfig/device tree/module parameters settings for blkoops. 3. Add document for device tree. On patch 3: 1. Blkoops support pmsg. 2. Fix description for new version patch. On patch 4: 1. Fix description for new version patch. [PATCH v5] On patch 1: 1. rename pstore/rom to pstore/blk 2. Do not allocate any memory in the write path of panic. So, use local array instead in function romz_recover_dmesg_meta. 3. Add C header file "linux/fs.h" to fix implicit declaration of function 'filp_open','kernel_read'... On patch 3: 1. If panic, do not recover pmsg but flush if it is dirty. 2. Fix erase pmsg failed. On patch 4: 1. Create a document for pstore/blk [PATCH v4] On patch 1: 1. Fix always true condition '(--i >= 0) => (0-u32max >= 0)' in function romz_init_zones by defining variable i to 'int' rahter than 'unsigned int'. 2. To make codes more easily to read, we use macro READ_NEXT_ZONE for return value of romz_dmesg_read if it need to read next zone. Moveover, we assign READ_NEXT_ZONE -1024 rather than 0. 3. Add 'FLUSH_META' to 'enum romz_flush_mode' and rename 'NOT_FLUSH' to 'FLUSH_NONE' 4. Function romz_zone_write work badly with FLUSH_PART mode as badly address and offset to write. On patch 3: NEW SUPPORT psmg for pstore_rom. [PATCH v3] On patch 1: Fix build as module error for undefined 'vfs_read' and 'vfs_write' Both of 'vfs_read' and 'vfs_write' haven't be exproted yet, so we use 'kernel_read' and 'kernel_write' instead. [PATCH v2] On patch 1: Fix build as module error for redefinition of 'romz_unregister' and 'romz_register' [PATCH v1] On patch 1: Core codes of pstore_rom, which works well on allwinner(sunxi) platform. On patch 2: A sample for pstore_rom, using general ram rather than block device. liaoweixiong (5): pstore/blk: new support logger for block devices dt-bindings: pstore-block: new support for blkoops pstore/blk: add blkoops for pstore_blk pstore/blk: support pmsg for pstore block Documentation: pstore/blk: create document for pstore_blk Documentation/admin-guide/pstore-block.rst | 227 ++++ .../devicetree/bindings/pstore-block/blkoops.txt | 32 + MAINTAINERS | 4 +- fs/pstore/Kconfig | 128 +++ fs/pstore/Makefile | 5 + fs/pstore/blkoops.c | 250 +++++ fs/pstore/blkzone.c | 1164 ++++++++++++++++++++ include/linux/pstore_blk.h | 62 ++ 8 files changed, 1871 insertions(+), 1 deletion(-) create mode 100644 Documentation/admin-guide/pstore-block.rst create mode 100644 Documentation/devicetree/bindings/pstore-block/blkoops.txt create mode 100644 fs/pstore/blkoops.c create mode 100644 fs/pstore/blkzone.c create mode 100644 include/linux/pstore_blk.h -- 1.9.1