Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp543005imu; Thu, 3 Jan 2019 02:44:02 -0800 (PST) X-Google-Smtp-Source: ALg8bN6oou68lPnMst5w2N/WAqrWfVb8EFnD4sF5Zr0wxayOqHHcl5XbIfOUygdWLP4qStbRVxJC X-Received: by 2002:a17:902:ba89:: with SMTP id k9mr47249319pls.189.1546512242580; Thu, 03 Jan 2019 02:44:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546512242; cv=none; d=google.com; s=arc-20160816; b=qNTrs+fcepcNnhJgMsV8RfKybvyHUJuJC3VaKvnM2BsAzh8Csu9bDZu4dJrMDoqTWA PEHVNjUqLIsCJwkq9G1sa3ZVL5y3rMlnfclzUsj1GC+rgyMagl74oywDXLi6pfq1Jc/2 2cZ5JEWQ8xePoubEu3QDY3LdCFQE0EuBH9wbKdYqXyyVwVnVK6VK1+brPnHHfgtBnMQE EDPEOEtzG0GOBOzA0mf5+OCIwVwgksEwa3ZHB1NicnjfPmMNAHxiX6KPM1TJGIaadfdb BBqcDlvaAH/JGwq5f5pfWp0+jD6daSw4Cz8s9KYpXgfQJZ/7t/lcEsnF35lI2YFoHzze TezQ== 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=SifrumYtYK3BBHWnLbH6XrNFgo+FhIhRpzxpVxFhrbA=; b=jTJbjJW7ERfQvlXBN5WLLOo19YKyRUmvQrEDd/Koerg4sjLHygmWQAaHEGkeczNzbR EqOu428LN7XVIKOpcx5Pnz2/uAYJSnvP9ihWYGpETFGiMUrSevIiw+8XYJ9IM+1+n5BR jJIa0k+8WGSpSOEdv3tJLk1NqsP/38lbBRFjcJEq9dpPgDTrFrzZJMwh1b6Yc/WorN1f uykT9zhW/THQpuB/XyY5tJc6bLALESybTMplRoQDIqwvxVjfwhqboeTGaSj06836K6ri DBlZ2Y2yBWpKP7HYrUfLBgD0YUKa9d++xcricxtM+Xx7dLQGBoGIRbHTrkftp9dFkEjX tZBw== 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 a3si21110141pga.297.2019.01.03.02.43.34; Thu, 03 Jan 2019 02:44:02 -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 S1730196AbfACHp6 (ORCPT + 99 others); Thu, 3 Jan 2019 02:45:58 -0500 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:41403 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730172AbfACHp5 (ORCPT ); Thu, 3 Jan 2019 02:45:57 -0500 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.07444615|-1;CH=green;FP=0|0|0|0|0|-1|-1|-1;HT=e02c03276;MF=liaoweixiong@allwinnertech.com;NM=1;PH=DS;RN=6;RT=6;SR=0;TI=SMTPD_---.DgqvJY-_1546501546; Received: from PC-liaoweixiong.allwinnertech.com(mailfrom:liaoweixiong@allwinnertech.com fp:SMTPD_---.DgqvJY-_1546501546) by smtp.aliyun-inc.com(10.147.43.230); Thu, 03 Jan 2019 15:45:51 +0800 From: liaoweixiong To: Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck Cc: linux-kernel@vger.kernel.org, liaoweixiong Subject: [RFC v4 0/3] pstore/rom: new support logger for block devices Date: Thu, 3 Jan 2019 15:45:30 +0800 Message-Id: <1546501533-1855-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_rom? 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 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 (3): pstore/rom: new support logger for block devices pstore/rom: add sample for pstore_rom pstore/rom: support pmsg for pstore_rom fs/pstore/Kconfig | 16 + fs/pstore/Makefile | 5 + fs/pstore/rombuf.c | 46 ++ fs/pstore/romzone.c | 1138 ++++++++++++++++++++++++++++++++++++++++++++ include/linux/pstore_rom.h | 62 +++ 5 files changed, 1267 insertions(+) create mode 100644 fs/pstore/rombuf.c create mode 100644 fs/pstore/romzone.c create mode 100644 include/linux/pstore_rom.h -- 1.9.1