diff mbox series

rasdaemon/diskerror: fix incomplete diskerror log

Message ID 20221215130159.1000843-1-lvying6@huawei.com (mailing list archive)
State New, archived
Headers show
Series rasdaemon/diskerror: fix incomplete diskerror log | expand

Commit Message

Lv Ying Dec. 15, 2022, 1:01 p.m. UTC
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 mbox series

Patch

diff --git a/ras-diskerror-handler.c b/ras-diskerror-handler.c
index b16319f..0a6e315 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 = pevent_get_field_raw(s, event, "rwbs", record, &len, 1);
+	if (!ev.rwbs)
+		return -1;
+	trace_seq_printf(s, "%s ", ev.rwbs);
+
+	ev.cmd = pevent_get_field_raw(s, event, "cmd", record, &len, 1);
+	if (!ev.cmd)
+		return -1;
+	trace_seq_printf(s, "(%s) ", ev.cmd);
 
 	if (pevent_get_field_val(s, event, "sector", record, &val, 1) < 0)
 		return -1;
 	ev.sector = val;
+	trace_seq_printf(s, "%llu ", ev.sector);
 
 	if (pevent_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 (pevent_get_field_val(s, event, "error", record, &val, 1) < 0)
 		return -1;
 	ev.error = get_blk_error((int)val);
-
-	ev.rwbs = pevent_get_field_raw(s, event, "rwbs", record, &len, 1);
-	if (!ev.rwbs)
-		return -1;
-
-	ev.cmd = pevent_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