mbox series

[v7,00/18] pstore: mtd: support crash log to block and mtd device

Message ID 20200510202436.63222-1-keescook@chromium.org
Headers show
Series pstore: mtd: support crash log to block and mtd device | expand

Message

Kees Cook May 10, 2020, 8:24 p.m. UTC
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@chromium.org/
v5: https://lore.kernel.org/lkml/1589022854-19821-1-git-send-email-liaoweixiong@allwinnertech.com/
v4: https://lore.kernel.org/lkml/20200508064004.57898-1-keescook@chromium.org/
v3: https://lore.kernel.org/lkml/1585126506-18635-1-git-send-email-liaoweixiong@allwinnertech.com/
v2: https://lore.kernel.org/lkml/1581078355-19647-1-git-send-email-liaoweixiong@allwinnertech.com/
v1: https://lore.kernel.org/lkml/1579482233-2672-1-git-send-email-liaoweixiong@allwinnertech.com/


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

Comments

WeiXiong Liao May 11, 2020, 10:54 a.m. UTC | #1
Hi Kees Cook,

On 2020/5/11 AM 4:24, Kees Cook wrote:
> 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?

I tested it on Allwinner board for all frontends, including panic.
All of them work well! That's a very good news.

> 
> 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@chromium.org/
> v5: https://lore.kernel.org/lkml/1589022854-19821-1-git-send-email-liaoweixiong@allwinnertech.com/
> v4: https://lore.kernel.org/lkml/20200508064004.57898-1-keescook@chromium.org/
> v3: https://lore.kernel.org/lkml/1585126506-18635-1-git-send-email-liaoweixiong@allwinnertech.com/
> v2: https://lore.kernel.org/lkml/1581078355-19647-1-git-send-email-liaoweixiong@allwinnertech.com/
> v1: https://lore.kernel.org/lkml/1579482233-2672-1-git-send-email-liaoweixiong@allwinnertech.com/
> 
> 
> 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
>
Kees Cook May 11, 2020, 10:39 p.m. UTC | #2
On Sun, May 10, 2020 at 01:24:18PM -0700, Kees Cook wrote:
>   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()

For those following along, I've added these to for-next/pstore, as
they're all prep patches for the rest of this series.
Kees Cook May 11, 2020, 11:17 p.m. UTC | #3
On Mon, May 11, 2020 at 06:54:11PM +0800, WeiXiong Liao wrote:
> On 2020/5/11 AM 4:24, Kees Cook wrote:
> > 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?
> 
> I tested it on Allwinner board for all frontends, including panic.
> All of them work well! That's a very good news.

Great! I'll get v8 sent out. :) Thanks!