Hi! Well, I guess I spoke too soon. :) Here is v7. Hopefully this is it. WeiXiong, can you test this and make sure you're happy with the results? Take care! -Kees v7: - more renamings in the exported APIs and structs - fix mtd build - replace psblk_blkdev_info with passing in a struct to fill - consolidate bdev opening/checking - rename psblk_device -> pstore_device_info - kerndoc for pstore_blk_get_config - fix hunks in wrong patch - add missing "static"s for local functions (0day) v6: https://lore.kernel.org/lkml/20200509234103.46544-1-keescook@xxxxxxxxxxxx/ 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 | 520 ++++++++ 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 | 118 ++ include/linux/pstore_zone.h | 60 + kernel/printk/printk.c | 21 + 18 files changed, 3210 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