Lines Matching refs:record

239 static ssize_t ramoops_pstore_read(struct pstore_record *record)  in ramoops_pstore_read()  argument
242 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_read()
252 record->time.tv_sec = 0; in ramoops_pstore_read()
253 record->time.tv_nsec = 0; in ramoops_pstore_read()
254 record->compressed = false; in ramoops_pstore_read()
259 cxt->max_dump_cnt, &record->id, in ramoops_pstore_read()
260 &record->type, in ramoops_pstore_read()
265 &record->time, in ramoops_pstore_read()
266 &record->compressed); in ramoops_pstore_read()
277 1, &record->id, &record->type, in ramoops_pstore_read()
282 1, &record->id, &record->type, in ramoops_pstore_read()
289 &cxt->ftrace_read_cnt, 1, &record->id, in ramoops_pstore_read()
290 &record->type, PSTORE_TYPE_FTRACE, 0); in ramoops_pstore_read()
308 &record->id, in ramoops_pstore_read()
309 &record->type, in ramoops_pstore_read()
323 record->id = 0; in ramoops_pstore_read()
336 record->ecc_notice_size = persistent_ram_ecc_string(prz, NULL, 0); in ramoops_pstore_read()
338 record->buf = kmalloc(size + record->ecc_notice_size + 1, GFP_KERNEL); in ramoops_pstore_read()
339 if (record->buf == NULL) { in ramoops_pstore_read()
344 memcpy(record->buf, (char *)persistent_ram_old(prz) + header_length, in ramoops_pstore_read()
347 persistent_ram_ecc_string(prz, record->buf + size, in ramoops_pstore_read()
348 record->ecc_notice_size + 1); in ramoops_pstore_read()
360 struct pstore_record *record) in ramoops_write_kmsg_hdr() argument
366 (time64_t)record->time.tv_sec, in ramoops_write_kmsg_hdr()
367 record->time.tv_nsec / 1000, in ramoops_write_kmsg_hdr()
368 record->compressed ? 'C' : 'D'); in ramoops_write_kmsg_hdr()
377 static int notrace ramoops_pstore_write(struct pstore_record *record) in ramoops_pstore_write() argument
379 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_write()
383 if (record->type == PSTORE_TYPE_CONSOLE) { in ramoops_pstore_write()
386 persistent_ram_write(cxt->cprz, record->buf, record->size); in ramoops_pstore_write()
388 } else if (record->type == PSTORE_TYPE_FTRACE) { in ramoops_pstore_write()
401 persistent_ram_write(cxt->fprzs[zonenum], record->buf, in ramoops_pstore_write()
402 record->size); in ramoops_pstore_write()
404 } else if (record->type == PSTORE_TYPE_PMSG) { in ramoops_pstore_write()
409 if (record->type != PSTORE_TYPE_DMESG) in ramoops_pstore_write()
416 if (record->reason != KMSG_DUMP_OOPS && in ramoops_pstore_write()
417 record->reason != KMSG_DUMP_PANIC) in ramoops_pstore_write()
421 if (record->reason == KMSG_DUMP_OOPS && !cxt->dump_oops) in ramoops_pstore_write()
430 if (record->part != 1) in ramoops_pstore_write()
439 hlen = ramoops_write_kmsg_hdr(prz, record); in ramoops_pstore_write()
440 size = record->size; in ramoops_pstore_write()
443 persistent_ram_write(prz, record->buf, size); in ramoops_pstore_write()
450 static int notrace ramoops_pstore_write_user(struct pstore_record *record, in ramoops_pstore_write_user() argument
453 if (record->type == PSTORE_TYPE_PMSG) { in ramoops_pstore_write_user()
454 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_write_user()
458 return persistent_ram_write_user(cxt->mprz, buf, record->size); in ramoops_pstore_write_user()
464 static int ramoops_pstore_erase(struct pstore_record *record) in ramoops_pstore_erase() argument
466 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_erase()
469 switch (record->type) { in ramoops_pstore_erase()
471 if (record->id >= cxt->max_dump_cnt) in ramoops_pstore_erase()
473 prz = cxt->dprzs[record->id]; in ramoops_pstore_erase()
479 if (record->id >= cxt->max_ftrace_cnt) in ramoops_pstore_erase()
481 prz = cxt->fprzs[record->id]; in ramoops_pstore_erase()