RE: Should Pstore(ramoops) records customized information?
From: Luck, Tony
Date: Thu Jun 19 2014 - 19:43:09 EST
> BTW, I note that "extern struct pstore_info *psinfo" locates in
> fs/pstore/internal.h. So users out of directory "fs/pstore/" can not use pstore to
> record messages. We do not want other kernel users to use pstore, right? And can we
> break this?
Yes we can make some interface visible to the rest of the kernel ... probably
not the raw "*psinfo" though. Perhaps the pstore_alloc_ring_buffer() and
pstore_write_ring_buffer() functions should be the ones exported to the
rest of the kernel.
> ditoo.. Since other backends like efi and erst may can not privide such ring buffer.
> So pstore_alloc_ring_buffer should be a funciton pointer of pstore_info struct.
Yes - that allows less capable backend like ERST and efivars to not provide the
service. Since it becomes internal, you can drop the "pstore_" prefix. E.g.
something like:
int pstore_alloc_ring_buffer(char *name, int size)
{
return psinfo->alloc_ring_buffer(name, size);
}
EXPORT_SYMBOL_GPL(pstore_alloc_ring_buffer);
... and you have to find/make some global header for the "extern" declaration.
-Tony