Projects
Eulaceura:Mainline:GA
rasdaemon
_service:obs_scm:backport-rasdaemon-diskerror-f...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:backport-rasdaemon-diskerror-fix-incomplete-diskerror-log.patch of Package rasdaemon
From 57e082edfe2651fc09035a7d9227be57ab9b8a06 Mon Sep 17 00:00:00 2001 From: Lv Ying <lvying6@huawei.com> Date: Thu, 15 Dec 2022 21:01:59 +0800 Subject: [PATCH 1/2] rasdaemon/diskerror: fix incomplete diskerror log Currently, rasdaemon output incomplete diskerror log(only contains timestamp): <idle>-0 [000] 0.017915: block_rq_complete: 2022-12-16 04:17:32 +0800 Fix incomplete diskerror log just like block_rq_complete tracepoint output format: <idle>-0 [042] d.h. 177962.715669: block_rq_complete: 21,0 N () 18446744073709551615 + 0 [-121] --- ras-diskerror-handler.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/ras-diskerror-handler.c b/ras-diskerror-handler.c index 638cb4d..82e8ec0 100644 --- a/ras-diskerror-handler.c +++ b/ras-diskerror-handler.c @@ -97,26 +97,32 @@ int ras_diskerror_event_handler(struct trace_seq *s, dev = (dev_t)val; if (asprintf(&ev.dev, "%u:%u", major(dev), minor(dev)) < 0) return -1; + trace_seq_printf(s, "%s ", ev.dev); + + ev.rwbs = tep_get_field_raw(s, event, "rwbs", record, &len, 1); + if (!ev.rwbs) + return -1; + trace_seq_printf(s, "%s ", ev.rwbs); + + ev.cmd = tep_get_field_raw(s, event, "cmd", record, &len, 1); + if (!ev.cmd) + return -1; + trace_seq_printf(s, "(%s) ", ev.cmd); if (tep_get_field_val(s, event, "sector", record, &val, 1) < 0) return -1; ev.sector = val; + trace_seq_printf(s, "%llu ", ev.sector); if (tep_get_field_val(s, event, "nr_sector", record, &val, 1) < 0) return -1; ev.nr_sector = (unsigned int)val; + trace_seq_printf(s, "+ %u ", ev.nr_sector); if (tep_get_field_val(s, event, "error", record, &val, 1) < 0) return -1; ev.error = get_blk_error((int)val); - - ev.rwbs = tep_get_field_raw(s, event, "rwbs", record, &len, 1); - if (!ev.rwbs) - return -1; - - ev.cmd = tep_get_field_raw(s, event, "cmd", record, &len, 1); - if (!ev.cmd) - return -1; + trace_seq_printf(s, "[%s]", ev.error); /* Insert data into the SGBD */ #ifdef HAVE_SQLITE3 -- 2.30.3
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2