Skip to content

Commit 3a98c51

Browse files
Michal KrakowiakChristoph Hellwig
authored andcommitted
nvme: parse format nvm command details when tracing
Add detailed parsing of format nvm admin command to make the trace log more consistent and human-readable. Signed-off-by: Michal Krakowiak <[email protected]> Acked-by: Dan Williams <[email protected]> Reviewed-by: Minwoo Im <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
1 parent 3254899 commit 3a98c51

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

drivers/nvme/host/trace.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,23 @@ static const char *nvme_trace_get_lba_status(struct trace_seq *p,
102102
return ret;
103103
}
104104

105+
static const char *nvme_trace_admin_format_nvm(struct trace_seq *p, u8 *cdw10)
106+
{
107+
const char *ret = trace_seq_buffer_ptr(p);
108+
u8 lbaf = cdw10[0] & 0xF;
109+
u8 mset = (cdw10[0] >> 4) & 0x1;
110+
u8 pi = (cdw10[0] >> 5) & 0x7;
111+
u8 pil = cdw10[1] & 0x1;
112+
u8 ses = (cdw10[1] >> 1) & 0x7;
113+
114+
trace_seq_printf(p, "lbaf=%u, mset=%u, pi=%u, pil=%u, ses=%u",
115+
lbaf, mset, pi, pil, ses);
116+
117+
trace_seq_putc(p, 0);
118+
119+
return ret;
120+
}
121+
105122
static const char *nvme_trace_read_write(struct trace_seq *p, u8 *cdw10)
106123
{
107124
const char *ret = trace_seq_buffer_ptr(p);
@@ -159,6 +176,8 @@ const char *nvme_trace_parse_admin_cmd(struct trace_seq *p,
159176
return nvme_trace_admin_get_features(p, cdw10);
160177
case nvme_admin_get_lba_status:
161178
return nvme_trace_get_lba_status(p, cdw10);
179+
case nvme_admin_format_nvm:
180+
return nvme_trace_admin_format_nvm(p, cdw10);
162181
default:
163182
return nvme_trace_common(p, cdw10);
164183
}

0 commit comments

Comments
 (0)