Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2715832imj; Mon, 18 Feb 2019 10:48:45 -0800 (PST) X-Google-Smtp-Source: AHgI3Ib4uLG/Mqcz28BDksj8hrHjHg+WsPYx8rYdDNhyZmkgEptApdyzY9/OFE5il14SDFgw77/a X-Received: by 2002:a63:eb0f:: with SMTP id t15mr15017607pgh.252.1550515725072; Mon, 18 Feb 2019 10:48:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550515725; cv=none; d=google.com; s=arc-20160816; b=qsM8HuGomvfxW2sqyeILKTdyJfZtV6wOf5+iavwa/ckds13GilgKv1a1yt23yFm6Df lZluwIj0GdHlf6Uk1tI/emkRyKGPfSJ6bCTH2fZTFu6p8/KkEfSPJuK7l0gMyXSCeiDM Fhvll0Iw7t2mswb7Lx9glsHVtyDLH8mHNLEzo7ZKMtvOiqeiS5PGyfMqKvAMhaiDMrqU fuyN/a4ACsqXKtEu6NKNM7LEpbuOz2FvPTR9Yix+uPLcr6EmsP79aQCXJrgeLMnlbPb3 wR0fk/rC1EzEFfgyXdqveHBbdWxCPIoiCJT+GnEMmtnuW94R/mleh4IkejmGu4R2sp4R J7bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=m99xLP0Y02CyxRDfMA87SWgkTNf416+QsTuxIX8t66Y=; b=FBdr5VvW4Y09LqrdWqonjngJe2jN2VFjrmPg1TNlTyZbxp5yQKmE9GK/ta91oVwfb8 3gv7ePHtrbu/+EQ0mVlb5H3Lu/nrpGBvhsi2SXIdvpSZDTkvIB0Psfgrl+bPN4hWpCMI csVkq3zVfbmSwze9zGzWUvk2IkPuWKHd9Q4v5YvXQ3M8UMSQkeu7YKhDOq6+b0kwZXRW Paa69hDlwWtnBDJyzk+ZBmYQkOAjDbFOy5iJOEEV0o3xcGTUteWU2xHIZMMyJnpcRh4h 6paB1j/e2Yrbo8rYCCbs9Yu3VF30cN01BsoQ5YJP2Kq6fvFzkjou7gsVcBZ6OI5ZeC1O ONbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="A/PjcJi1"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f12si994352pgm.355.2019.02.18.10.48.28; Mon, 18 Feb 2019 10:48:45 -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; dkim=pass header.i=@kernel.org header.s=default header.b="A/PjcJi1"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730538AbfBRPiJ (ORCPT + 99 others); Mon, 18 Feb 2019 10:38:09 -0500 Received: from mail.kernel.org ([198.145.29.99]:51380 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726875AbfBRPiJ (ORCPT ); Mon, 18 Feb 2019 10:38:09 -0500 Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B910B21903; Mon, 18 Feb 2019 15:38:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550504287; bh=fiufsnkwY5Ye4dpDt8/DYHb+fwDhNY9kEFnPVmnu3VE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=A/PjcJi1jy1g94rV79HjZoSMrTGSLyjIliFsLBaTaToOWpmVR2I7z2D7bUKX+r1y/ 80XehwGmyYgaZ4V/833rwTUH3VGMAXeDWezG7kLQrIvdRyOt227HbrnznjkbVfEHN+ STV8IBKEBzMrXmH12OvdjaYYqLi1ozs3ksaUsrqw= Received: by mail-qt1-f173.google.com with SMTP id w4so19671957qtc.1; Mon, 18 Feb 2019 07:38:07 -0800 (PST) X-Gm-Message-State: AHQUAuZejNN+In/YMD32+JpbEj9+AIfCJFrvj+T5K10v1FbRNbC1FVJm PUMGbTeLqXSPEtzAff6twH3SZ2MePZNG/IlbeA== X-Received: by 2002:a0c:9e05:: with SMTP id p5mr17493506qve.246.1550504286830; Mon, 18 Feb 2019 07:38:06 -0800 (PST) MIME-Version: 1.0 References: <1548245116-6360-1-git-send-email-liaoweixiong@allwinnertech.com> <1548245116-6360-3-git-send-email-liaoweixiong@allwinnertech.com> <20190130160707.GA31844@bogus> In-Reply-To: From: Rob Herring Date: Mon, 18 Feb 2019 09:37:54 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC v7 2/5] dt-bindings: pstore-block: new support for blkoops To: liaoweixiong Cc: Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck , Jonathan Corbet , Mark Rutland , Mauro Carvalho Chehab , Greg Kroah-Hartman , "David S. Miller" , Andrew Morton , Nicolas Ferre , Arnd Bergmann , Linux Doc Mailing List , "linux-kernel@vger.kernel.org" , devicetree@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 14, 2019 at 7:06 PM liaoweixiong wrote: > > On 2019-02-14 04:30, Rob Herring wrote: > > On Wed, Feb 13, 2019 at 7:51 AM liaoweixiong > > wrote: > >> > >> > >> On 2019-01-31 00:07, Rob Herring wrote:> On Wed, Jan 23, 2019 at > >> 08:05:13PM +0800, liaoweixiong wrote: > >>>> Create DT binding document for blkoops. > >>>> > >>>> Signed-off-by: liaoweixiong > >>>> --- > >>>> .../devicetree/bindings/pstore-block/blkoops.txt | 32 ++++++++++++++++++++++ > >>> > >>> /bindings/pstore/... > >>> > >>> I wouldn't call it blkoops either. I believe ramoops is called that to > >>> maintain compatibility keeping the same kernel module name that > >>> preceeded pstore. > >>> > >> > >> Fixed. > >> > >> In addition, I don't known whether should we move > >> ramreserved-memory/ooos.txt to /bindings/pstore. This is for maintainer > >> to decide, and do it on other patch. > >> > >>>> MAINTAINERS | 1 + > >>>> 2 files changed, 33 insertions(+) > >>>> create mode 100644 Documentation/devicetree/bindings/pstore-block/blkoops.txt > >>>> > >>>> diff --git a/Documentation/devicetree/bindings/pstore-block/blkoops.txt b/Documentation/devicetree/bindings/pstore-block/blkoops.txt > >>>> new file mode 100644 > >>>> index 0000000..a25835b > >>>> --- /dev/null > >>>> +++ b/Documentation/devicetree/bindings/pstore-block/blkoops.txt > >>>> @@ -0,0 +1,32 @@ > >>>> +Blkoops oops logger > >>>> +=================== > >>>> + > >>>> +Blkoops provides a block partition for oops, excluding panics now, so they can > >>>> +be recovered after a reboot. > >>>> + > >>>> +Any space of block partition will be used for a circular buffer of oops records. > >>>> +These records have a configurable size, with a size of 0 indicating that they > >>>> +should be disabled. > >>>> + > >>>> +"partition-size" and at least one of "dmesg-size" or "pmsg-size" must be set > >>>> +non-zero, but are otherwise optional as listed below. > >>>> + > >>>> +Blkoops will take value from Kconfig if device tree do not set, but settings > >>>> +from module parameters can also overwrite them. > >>> > >>> That's all kernel details not relevant to the binidng. > >>> > >> > >> Deleted. > >> > >>>> + > >>>> +Required properties: > >>>> + > >>>> +- compatible: must be "blkoops". > >>>> + > >>>> +- partition-size: size in kbytes, must be a multiple of 4. > >>> > >>> This seems unnecessary given a partition has a known size. > >>> > >> > >> partition-size is necessary for psotre/blk. User should tell pstore/blk > >> how large space can it use. > > > > The partition table says how big a partition is. If you only want to > > use part of it, then make the partition smaller or use a file system. > > This is a solved problem, so we don't need a new way in DT to handle > > this. > > > > You are right, partition size is known and pstore/blk can get it > automatically from specified block device. I will try to do it on next > version patch. > But i prefer to rename partition-size to total-size and move it to > optional properties. Total-size means how big space pstore/blk can use. > It is not only about partition size as pstore/blk can use ram if no > partition specified. > So, I will process as follow logic: > 1. If specify total size, use total size. > 2. If no total size but specify partition, get size from partition. You haven't given any reason why we need to support this. > >>>> +Optional properties: > >>>> + > >>>> +- partition-path: strings must begin with "/dev", tell blkoops which partition > >>>> + it can used. If it is not set, blkoops will drop all data when reboot. > >>> > >>> No. '/dev/...' is a Linux thing and doesn't belong in DT. > >>> > >>> You should define a partition UUID and/or label and the kernel can find > >>> the right partition to use. > >>> > >> > >> pstore/blk do general read/write by filp_open/kernel_read/kernel_write, > >> which need device path. > >> In addition, i have no idea how to use UUID and/or label to do general > >> read/write on kernel layer, can you give me a tip? > > > > The kernel can mount a filesystem by label or UUID though I think > > those are filesystem UUID and label, not partition UUID and label. But > > certainly bootloaders find the EFI system partition by UUID. > > > > As your words, those are file system UUID and label, not partition > UUID/label. Actually, looking at do_mounts.c, it is the partition UUID and label. See PARTUUID and PARTLABEL. > Pstore is a file system, there is no other file system any > more for specified partition. Pstore/blk can't get specified partition > by UUID or label. > > As far as i know, block device manager on user space scans each block > device and matches file system table to get UUID and label. Not even all > file systems have UUID/label. Yes, userspace has more capabilities for mounting. > MTD device may has label, but it is not suitable for all block device. MTD is special... > How if i cancel the prefix requirement for /dev and add it to the codes? > Then rename partition-path to block-device, by this, DT property may be > "mmcblk0p10" or "sda6" . There is simply no way we are putting Linux device names into DT. Besides just being Linux specific, the device names are not guaranteed to be stable. Rob