Where:		/sys/fs/pstore/... (or /dev/pstore/...)
Date:		March 2011
Kernel Version: 2.6.39
Contact:	tony.luck@intel.com
Description:	Generic interface to platform dependent persistent storage.

		Platforms that provide a mechanism to preserve some data
		across system reboots can register with this driver to
		provide a generic interface to show records captured in
		the dying moments.  In the case of a panic the last part
		of the console log is captured, but other interesting
		data can also be saved.

		# mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore

		$ ls -l /sys/fs/pstore/
		total 0
		-r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1

		Different users of this interface will result in different
		filename prefixes.  Currently two are defined:

		"dmesg"	- saved console log
		"mce"	- architecture dependent data from fatal h/w error

		Once the information in a file has been read, removing
		the file will signal to the underlying persistent storage
		device that it can reclaim the space for later re-use.

		$ rm /sys/fs/pstore/dmesg-erst-1

		The expectation is that all files in /sys/fs/pstore/
		will be saved elsewhere and erased from persistent store
		soon after boot to free up space ready for the next
		catastrophe.

		The 'kmsg_bytes' mount option changes the target amount of
		data saved on each oops/panic. Pstore saves (possibly
		multiple) files based on the record size of the underlying
		persistent storage until at least this amount is reached.
		Default is 10 Kbytes.

		Pstore only supports one backend at a time. If multiple
		backends are available, the preferred backend may be
		set by passing the pstore.backend= argument to the kernel at
		boot time.

