pstore: Allow the user to explicitly choose a backend
pstore only allows one backend to be registered at present, but the system may provide several. Add a parameter to allow the user to choose which backend will be used rather than just relying on load order. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
b94fdd077e
commit
dee28e72b6
3 changed files with 19 additions and 0 deletions
|
@ -39,3 +39,9 @@ Description: Generic interface to platform dependent persistent storage.
|
|||
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.
|
||||
|
||||
|
|
|
@ -2151,6 +2151,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
|||
[HW,MOUSE] Controls Logitech smartscroll autorepeat.
|
||||
0 = disabled, 1 = enabled (default).
|
||||
|
||||
pstore.backend= Specify the name of the pstore backend to use
|
||||
|
||||
pt. [PARIDE]
|
||||
See Documentation/blockdev/paride.txt.
|
||||
|
||||
|
|
|
@ -37,6 +37,8 @@
|
|||
static DEFINE_SPINLOCK(pstore_lock);
|
||||
static struct pstore_info *psinfo;
|
||||
|
||||
static char *backend;
|
||||
|
||||
/* How much of the console log to snapshot */
|
||||
static unsigned long kmsg_bytes = 10240;
|
||||
|
||||
|
@ -131,6 +133,12 @@ int pstore_register(struct pstore_info *psi)
|
|||
spin_unlock(&pstore_lock);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
if (backend && strcmp(backend, psi->name)) {
|
||||
spin_unlock(&pstore_lock);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
psinfo = psi;
|
||||
spin_unlock(&pstore_lock);
|
||||
|
||||
|
@ -208,3 +216,6 @@ int pstore_write(enum pstore_type_id type, char *buf, size_t size)
|
|||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pstore_write);
|
||||
|
||||
module_param(backend, charp, 0444);
|
||||
MODULE_PARM_DESC(backend, "Pstore backend to use");
|
||||
|
|
Loading…
Reference in a new issue