Hi! This is a v4 of WeiXiong Liao's series. I spent time porting this on top of the latest pstore (mainly to support max_reason), and I started making various other changes, mostly just bikeshed stuff. Changes since v3: fixing up various typos, alternate phrases, and language. For example: recorder -> frontend Pstore -> pstore filenames: rename pstore_*.c -> *.c and adjust Makefile (I decided fs/pstore/pstore_zone.c repeated "pstore" one too many time. ;) pstore-block.rst -> pstore_blk.rst conversion of dump_oops -> max_reason refactor/rename get_reason_str() and move to kernel/printk/printk.c psz* -> pstore_zone* renamings: psblk_usr_info() ->... pstore_blk_usr_info() psz_zone -> pstore_zone pszinfo -> pstore_zone_info register_pstore_zone(): registration reporting via pr_cont(), with max_reason remove needless get/put_module() public API renamings: VERB_NOUN() psz_*register() -> *register_pstore_zone() 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/ So far, I've identified the following stuff left to do: - settle on various function/struct renamings - review locking - implement ramoops-like probe feature for pstore/blk - spend time seeing how ramoops might use pstore/zone But I wanted to get this update published just to show what I've done so far in my bikeshed review. :) Thanks! -Kees Kees Cook (1): printk: Introduce kmsg_dump_reason_str() WeiXiong Liao (11): pstore/zone: Introduce common layer to manage storage zones pstore/blk: Introduce backend for block devices pstore/blk: Provide way to choose pstore frontend support pstore/blk: Add support for pmsg frontend pstore/blk: Add console frontend support pstore/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 | 481 +++++++ fs/pstore/platform.c | 22 +- fs/pstore/zone.c | 1498 ++++++++++++++++++++++ include/linux/kmsg_dump.h | 7 + include/linux/pstore_blk.h | 77 ++ include/linux/pstore_zone.h | 60 + kernel/printk/printk.c | 21 + 14 files changed, 3079 insertions(+), 21 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