[PATCH v6 00/18] pstore: mtd: support crash log to block and mtd device

From: Kees Cook
Date: Sat May 09 2020 - 19:41:20 EST


Hi,

Okay, I'm happy enough with this series to get it landed so we can start
doing incremental changes, etc. Here's the v6 I'll land in for-next/pstore
unless there's some objection.

Thank you again for all your patience! As you can see, I had a lot of
things I needed to fix up in the core pstore code, and I had a lot of
opinions about names. ;) I'm glad to have a block device backend for
this -- it makes testing the core much easier.

After spending so much time looking at pstore/zone, I've got some ideas
about how to merge it with pstore/ram's way of doing things. For example,
I'd like to get ECC support into pstore/zone, and once it's generalized
enough, I think other storage systems (EFI?) could use it to solve
some problems there (growing without bounds, not supporting the other
frontends, etc).

One last thought I had on naming would be to have mtdpstore be named
pstore_mtd.c, etc. That'd make it more like pstore/zone,blk,ram,
etc. (I'd really like to get pstore/ram renamed and keep the "ramoops"
name for backward compat.) What do you think about that?

Thanks!

-Kees


v6:
- more renamings, typo fixes, rewordings
- reset pstore_zone global counters/state on unregister
- add best_effort param to allow easy block device testing
- extract ftrace merging code from ram.c to avoid duplication
- use backend name for console name
- rearrange module parameters

v5: https://lore.kernel.org/lkml/1589022854-19821-1-git-send-email-liaoweixiong@xxxxxxxxxxxxxxxxx/
v4: https://lore.kernel.org/lkml/20200508064004.57898-1-keescook@xxxxxxxxxxxx/
v3: https://lore.kernel.org/lkml/1585126506-18635-1-git-send-email-liaoweixiong@xxxxxxxxxxxxxxxxx/
v2: https://lore.kernel.org/lkml/1581078355-19647-1-git-send-email-liaoweixiong@xxxxxxxxxxxxxxxxx/
v1: https://lore.kernel.org/lkml/1579482233-2672-1-git-send-email-liaoweixiong@xxxxxxxxxxxxxxxxx/


Kees Cook (8):
pstore/ram: Move dump_oops to end of module_param list
pstore/platform: Switch pstore_info::name to const
pstore/platform: Move module params after declarations
pstore/platform: Use backend name for console registration
pstore/ram: Refactor ftrace buffer merging
pstore/ftrace: Provide ftrace log merging routine
printk: Introduce kmsg_dump_reason_str()
pstore/blk: Introduce "best_effort" mode

WeiXiong Liao (10):
pstore/zone: Introduce common layer to manage storage zones
pstore/blk: Introduce backend for block devices
pstore/zone,blk: Add support for pmsg frontend
pstore/zone,blk: Add console frontend support
pstore/zone,blk: Add ftrace frontend support
Documentation: Add details for pstore/blk
pstore/zone: Provide way to skip "broken" zone for MTD devices
pstore/blk: Provide way to query pstore configuration
pstore/blk: Support non-block storage devices
mtd: Support kmsg dumper based on pstore/blk

Documentation/admin-guide/pstore-blk.rst | 243 ++++
MAINTAINERS | 1 +
drivers/mtd/Kconfig | 10 +
drivers/mtd/Makefile | 1 +
drivers/mtd/mtdpstore.c | 564 +++++++++
fs/pstore/Kconfig | 109 ++
fs/pstore/Makefile | 6 +
fs/pstore/blk.c | 571 +++++++++
fs/pstore/ftrace.c | 54 +
fs/pstore/internal.h | 9 +
fs/pstore/platform.c | 40 +-
fs/pstore/ram.c | 70 +-
fs/pstore/zone.c | 1463 ++++++++++++++++++++++
include/linux/kmsg_dump.h | 7 +
include/linux/pstore.h | 2 +-
include/linux/pstore_blk.h | 77 ++
include/linux/pstore_zone.h | 60 +
kernel/printk/printk.c | 21 +
18 files changed, 3220 insertions(+), 88 deletions(-)
create mode 100644 Documentation/admin-guide/pstore-blk.rst
create mode 100644 drivers/mtd/mtdpstore.c
create mode 100644 fs/pstore/blk.c
create mode 100644 fs/pstore/zone.c
create mode 100644 include/linux/pstore_blk.h
create mode 100644 include/linux/pstore_zone.h

--
2.20.1