mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-linus/pstore' into for-next/pstore
This commit is contained in:
commit
971f66d8a7
|
@ -816,17 +816,14 @@ static int ramoops_probe(struct platform_device *pdev)
|
|||
|
||||
cxt->pstore.data = cxt;
|
||||
/*
|
||||
* Console can handle any buffer size, so prefer LOG_LINE_MAX. If we
|
||||
* have to handle dumps, we must have at least record_size buffer. And
|
||||
* for ftrace, bufsize is irrelevant (if bufsize is 0, buf will be
|
||||
* ZERO_SIZE_PTR).
|
||||
* Since bufsize is only used for dmesg crash dumps, it
|
||||
* must match the size of the dprz record (after PRZ header
|
||||
* and ECC bytes have been accounted for).
|
||||
*/
|
||||
if (cxt->console_size)
|
||||
cxt->pstore.bufsize = 1024; /* LOG_LINE_MAX */
|
||||
cxt->pstore.bufsize = max(cxt->record_size, cxt->pstore.bufsize);
|
||||
cxt->pstore.buf = kmalloc(cxt->pstore.bufsize, GFP_KERNEL);
|
||||
cxt->pstore.bufsize = cxt->dprzs[0]->buffer_size;
|
||||
cxt->pstore.buf = kzalloc(cxt->pstore.bufsize, GFP_KERNEL);
|
||||
if (!cxt->pstore.buf) {
|
||||
pr_err("cannot allocate pstore buffer\n");
|
||||
pr_err("cannot allocate pstore crash dump buffer\n");
|
||||
err = -ENOMEM;
|
||||
goto fail_clear;
|
||||
}
|
||||
|
|
|
@ -90,7 +90,10 @@ struct pstore_record {
|
|||
*
|
||||
* @buf_lock: spinlock to serialize access to @buf
|
||||
* @buf: preallocated crash dump buffer
|
||||
* @bufsize: size of @buf available for crash dump writes
|
||||
* @bufsize: size of @buf available for crash dump bytes (must match
|
||||
* smallest number of bytes available for writing to a
|
||||
* backend entry, since compressed bytes don't take kindly
|
||||
* to being truncated)
|
||||
*
|
||||
* @read_mutex: serializes @open, @read, @close, and @erase callbacks
|
||||
* @flags: bitfield of frontends the backend can accept writes for
|
||||
|
|
Loading…
Reference in New Issue