/linux/fs/pstore/ |
H A D | Kconfig | 2 config PSTORE config 7 persistent storage via "pstore" filesystem that can 8 be mounted as /dev/pstore. Only useful if you have 9 a platform level driver that registers with pstore to 18 depends on PSTORE 21 Defines default size of pstore kernel log storage. 25 bool "Pstore compression (deflate)" 26 depends on PSTORE 31 Whether pstore records should be compressed before being written to 35 problems while pstore is recording panic metadata. [all …]
|
H A D | blk.c | 3 * Implements pstore backend driver that write to block (or non-block) storage 4 * devices, using the pstore/zone API. 57 MODULE_PARM_DESC(best_effort, "use best effort to write (i.e. do not require storage driver pstore … 60 * blkdev - the block device to use for pstore storage 61 * See Documentation/admin-guide/pstore-blk.rst for details. 65 MODULE_PARM_DESC(blkdev, "block device for pstore storage"); 146 * register_pstore_device() - register non-block device to pstore/blk 176 * unregister_pstore_device() - unregister non-block device from pstore/blk 241 /* get information of pstore/blk */ 257 static const char devname[] = "/dev/pstore-blk"; [all …]
|
H A D | Makefile | 6 obj-$(CONFIG_PSTORE) += pstore.o 8 pstore-objs += inode.o platform.o 9 pstore-$(CONFIG_PSTORE_FTRACE) += ftrace.o 11 pstore-$(CONFIG_PSTORE_PMSG) += pmsg.o
|
H A D | zone.c | 3 * Provide a pstore intermediate backend, organized into kernel memory 90 * struct psz_context - all about running state of pstore/zone 109 * @pstore: structure for pstore 138 struct pstore_info pstore; member 595 * @cxt: the context of pstore/zone 1104 .pstore = { 1286 * register_pstore_zone() - register to pstore/zone 1339 * if no @read, pstore may mount failed. in register_pstore_zone() 1340 * if no @write, pstore do not support to remove record file. in register_pstore_zone() 1370 cxt->pstore.bufsize = cxt->kpszs[0]->buffer_size - in register_pstore_zone() [all …]
|
H A D | ram.c | 15 #include <linux/pstore.h> 106 struct pstore_info pstore; member 445 .pstore = { 816 cxt->pstore.data = cxt; in ramoops_probe() 823 cxt->pstore.flags = 0; in ramoops_probe() 825 cxt->pstore.flags |= PSTORE_FLAGS_DMESG; in ramoops_probe() 826 cxt->pstore.max_reason = pdata->max_reason; in ramoops_probe() 829 cxt->pstore.flags |= PSTORE_FLAGS_CONSOLE; in ramoops_probe() 831 cxt->pstore.flags |= PSTORE_FLAGS_FTRACE; in ramoops_probe() 833 cxt->pstore.flags |= PSTORE_FLAGS_PMSG; in ramoops_probe() [all …]
|
H A D | platform.c | 9 #define pr_fmt(fmt) "pstore: " fmt 19 #include <linux/pstore.h> 32 * We defer making "oops" entries appear in pstore - see 38 MODULE_PARM_DESC(update_ms, "milliseconds before pstore updates its content " 77 * pstore no longer implements compression via the crypto API, and only 153 * In case of NMI path, pstore shouldn't be blocked in pstore_cannot_block_path() 345 * the pstore record, and discard the rest. in pstore_dump() 460 * us here. If pstore is already mounted, call the platform 462 * then the pstore mount code will call us later to fill out 529 * through /sys/module/pstore/parameters/backend in pstore_register()
|
H A D | inode.c | 23 #include <linux/pstore.h> 461 .name = "pstore", 470 /* Create a convenient mount point for people to access pstore */ in pstore_init_fs() 471 err = sysfs_create_mount_point(fs_kobj, "pstore"); in pstore_init_fs() 477 sysfs_remove_mount_point(fs_kobj, "pstore"); in pstore_init_fs() 486 sysfs_remove_mount_point(fs_kobj, "pstore"); in pstore_exit_fs()
|
H A D | internal.h | 7 #include <linux/pstore.h> 48 /* Called during pstore init/exit. */
|
/linux/Documentation/admin-guide/ |
H A D | pstore-blk.rst | 3 pstore block oops/panic logger 9 pstore block (pstore/blk) is an oops/panic logger that writes its logs to a 11 these log files by mounting pstore filesystem like:: 13 mount -t pstore pstore /sys/fs/pstore 16 pstore block concepts 19 pstore/blk provides efficient configuration method for pstore/blk, which 23 Configurations for user determine how pstore/blk works, such as pmsg_size, 46 It's required for pstore/blk. It is also used for MTD device. 48 When pstore/blk is built as a module, "blkdev" accepts the following variants: 56 When pstore/blk is built into the kernel, "blkdev" accepts the following variants: [all …]
|
H A D | ramoops.rst | 29 Typically the default value of ``mem_type=0`` should be used as that sets the pstore 31 ``pgprot_noncached``, which only works on some platforms. This is because pstore 151 The dump data can be read from the pstore filesystem. The format for these 153 a stored record from RAM, simply unlink the respective pstore file. 163 # echo 1 > /sys/kernel/debug/pstore/record_ftrace 166 # mount -t pstore pstore /mnt/
|
/linux/Documentation/ABI/testing/ |
H A D | pstore | 1 What: /sys/fs/pstore/... 2 What: /dev/pstore/... 15 # mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore 17 $ ls -l /sys/fs/pstore/ 31 $ rm /sys/fs/pstore/dmesg-erst-1 33 The expectation is that all files in /sys/fs/pstore/ 39 data saved on each oops/panic. Pstore saves (possibly 44 Pstore only supports one backend at a time. If multiple 46 set by passing the pstore.backend= argument to the kernel at
|
/linux/tools/testing/selftests/pstore/ |
H A D | pstore_post_reboot_tests | 4 # pstore_post_reboot_tests - Check pstore's behavior after crash/reboot 22 prlog -n "Mounting pstore filesystem ... " 23 mount_info=`grep pstore /proc/mounts` 28 mount none /sys/fs/pstore -t pstore 30 mount_point=`grep pstore /proc/mounts | cut -d' ' -f2 | head -n1` 40 prlog -n "Checking dmesg files exist in pstore filesystem ... " 43 prlog -n "Checking console files exist in pstore filesystem ... " 46 prlog -n "Checking pmsg files exist in pstore filesystem ... " 76 prlog -n "Removing all files in pstore filesystem "
|
H A D | common_tests | 4 # common_tests - Shell script commonly used by pstore test scripts 57 TEST_STRING_PATTERN="Testing pstore: uuid=" 73 prlog "=== Pstore unit tests (`basename $0`) ===" 76 prlog -n "Checking pstore backend is registered ... " 77 backend=`cat /sys/module/pstore/parameters/backend`
|
H A D | pstore_tests | 4 # pstore_tests - Check pstore's behavior before crash/reboot 12 prlog -n "Checking pstore console is registered ... " 13 dmesg | grep -Eq "console \[(pstore|${backend})"
|
H A D | Makefile | 2 # Makefile for pstore selftests. 3 # Expects pstore backend is registered.
|
H A D | pstore_crash_test | 4 # pstore_crash_test - Pstore test shell script which causes crash and reboot 10 # exit if pstore backend is not registered
|
/linux/drivers/md/ |
H A D | dm-snap-persistent.c | 105 struct pstore { struct 170 static int alloc_area(struct pstore *ps) in alloc_area() argument 205 static void free_area(struct pstore *ps) in free_area() 232 static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, blk_opf_t opf, in chunk_io() 270 static chunk_t area_location(struct pstore *ps, chunk_t area) in area_location() 275 static void skip_metadata(struct pstore *ps) in skip_metadata() 288 static int area_io(struct pstore *ps, blk_opf_t opf) in area_io() 295 static void zero_memory_area(struct pstore *ps) in zero_memory_area() 300 static int zero_disk_area(struct pstore *ps, chunk_t area) in zero_disk_area() 306 static int read_header(struct pstore *ps, int *new_snapshot) in read_header() [all …]
|
/linux/include/linux/ |
H A D | pstore.h | 3 * Persistent Storage - pstore.h 24 * pstore record types (see fs/pstore/platform.c for pstore_type_names[]) 51 * struct pstore_record - details of a pstore record entry 52 * @psi: pstore backend driver information 53 * @type: pstore record type 61 * kfree()d by the pstore core if non-NULL 89 * struct pstore_info - backend pstore driver structure 114 * Notify backend that pstore is starting a full read of backend 122 * Notify backend that pstore has finished a full read of backend 128 * Returns 0 on success, and non-zero on error. (Though pstore will
|
H A D | pstore_blk.h | 7 #include <linux/pstore.h> 11 * struct pstore_device_info - back-end pstore/blk driver structure. 14 * linux/pstore.h. It means what front-ends this device support.
|
H A D | pstore_zone.h | 12 * struct pstore_zone_info - pstore/zone back-end driver structure 16 * @total_size: The total size in bytes pstore/zone can use. It must be greater
|
H A D | pstore_ram.h | 11 #include <linux/pstore.h>
|
/linux/drivers/firmware/efi/ |
H A D | Kconfig | 11 tristate "Register efivars backend for pstore" 12 depends on PSTORE 16 Say Y here to enable use efivars as a backend to pstore. This 18 else supported by pstore to EFI variables. 21 bool "Disable using efivars as a pstore backend by default" 26 backend for pstore by default. This setting can be overridden
|
/linux/drivers/platform/chrome/ |
H A D | chromeos_pstore.c | 51 * range untouched across reboots, so we use that to store our pstore 137 MODULE_DESCRIPTION("ChromeOS pstore module");
|
/linux/drivers/mtd/ |
H A D | mtdpstore.c | 3 #define dev_fmt(fmt) "mtdoops-pstore: " fmt 234 * pstore/blk will try one by one until gets an empty zone. So, it is not 307 * All zones will be read as pstore/blk will read zone one by one when do 492 * When user remove any log file on pstore filesystem, mtdpstore should do 579 MODULE_DESCRIPTION("MTD backend for pstore/blk");
|
H A D | Kconfig | 177 tristate "Log panic/oops to an MTD buffer based on pstore" 182 mounting pstore filesystem.
|