On 2014/6/20 7:42, Luck, Tony wrote:
I will make these RFC patch series according to our discussion. Thanks you very toBTW, I note that "extern struct pstore_info *psinfo" locates inYes we can make some interface visible to the rest of the kernel ... probably
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?
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.Yes - that allows less capable backend like ERST and efivars to not provide the
So pstore_alloc_ring_buffer should be a funciton pointer of pstore_info struct.
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.
valuable advice.