[PATCH 9/9] fs: Add pstore filesystem
Antony Pavlov
antonynpavlov at gmail.com
Wed Dec 2 10:37:13 PST 2015
On Wed, 2 Dec 2015 14:48:51 +0100
Markus Pargmann <mpa at pengutronix.de> wrote:
> pstore is a persistent storage filesystem used for RAMOOPS. It is used
> to store console logs, panics, ftrace and other information in case of a
> crash/panic/oops/reboot.
>
> pstore is implemented for barebox as a read-only filesystem at the
> moment. It may be extended later on. The idea is to provide a way to
> extract essential data from the last running kernel.
>
> Most of the code is copied from the kernel. However this is only a
> lightweight implementation without real write support yet.
>
> Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
> ---
> common/startup.c | 5 +
> fs/Kconfig | 2 +
> fs/Makefile | 1 +
> fs/pstore/Kconfig | 88 ++++++++
> fs/pstore/Makefile | 10 +
> fs/pstore/fs.c | 280 +++++++++++++++++++++++++
> fs/pstore/internal.h | 19 ++
> fs/pstore/platform.c | 138 ++++++++++++
> fs/pstore/ram.c | 507 +++++++++++++++++++++++++++++++++++++++++++++
> fs/pstore/ram_core.c | 426 +++++++++++++++++++++++++++++++++++++
> include/linux/pstore.h | 90 ++++++++
> include/linux/pstore_ram.h | 87 ++++++++
> 12 files changed, 1653 insertions(+)
> create mode 100644 fs/pstore/Kconfig
> create mode 100644 fs/pstore/Makefile
> create mode 100644 fs/pstore/fs.c
> create mode 100644 fs/pstore/internal.h
> create mode 100644 fs/pstore/platform.c
> create mode 100644 fs/pstore/ram.c
> create mode 100644 fs/pstore/ram_core.c
> create mode 100644 include/linux/pstore.h
> create mode 100644 include/linux/pstore_ram.h
>
> diff --git a/common/startup.c b/common/startup.c
> index 4a303b297aaf..093a23ba08c9 100644
> --- a/common/startup.c
> +++ b/common/startup.c
> @@ -60,6 +60,11 @@ static int mount_root(void)
> mount("none", "efivarfs", "/efivars", NULL);
> }
>
> + if (IS_ENABLED(CONFIG_FS_PSTORE)) {
> + mkdir("/pstore", 0);
> + mount("none", "pstore", "/pstore", NULL);
> + }
> +
> return 0;
> }
> fs_initcall(mount_root);
> diff --git a/fs/Kconfig b/fs/Kconfig
> index 9217bc81ea1e..5413a9295ccc 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -89,4 +89,6 @@ config FS_SMHFS
> located on a debugging host connected to the target running
> Barebox
>
> +source fs/pstore/Kconfig
> +
> endmenu
> diff --git a/fs/Makefile b/fs/Makefile
> index 46932057c1b7..590c068e6045 100644
> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -14,3 +14,4 @@ obj-$(CONFIG_FS_UIMAGEFS) += uimagefs.o
> obj-$(CONFIG_FS_EFI) += efi.o
> obj-$(CONFIG_FS_EFIVARFS) += efivarfs.o
> obj-$(CONFIG_FS_SMHFS) += smhfs.o
> +obj-y += pstore/
Can we use
obj-$(CONFIG_FS_PSTORE) += pstore/
?
> diff --git a/fs/pstore/Kconfig b/fs/pstore/Kconfig
> new file mode 100644
> index 000000000000..2455b5629cb1
> --- /dev/null
> +++ b/fs/pstore/Kconfig
> @@ -0,0 +1,88 @@
> +menuconfig FS_PSTORE
> + bool
> + prompt "pstore fs support"
--
Best regards,
Antony Pavlov
More information about the barebox
mailing list