mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
nvme: add nvme_opcode_str function for all nvme cmd types
nvme_opcode_str will handle io/admin/fabrics ops This improves NVMe errors logging Signed-off-by: Amit Engel <Amit.Engel@dell.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
62281b9ed6
commit
567da14d46
@ -54,6 +54,14 @@ static const char * const nvme_admin_ops[] = {
|
||||
[nvme_admin_get_lba_status] = "Get LBA Status",
|
||||
};
|
||||
|
||||
static const char * const nvme_fabrics_ops[] = {
|
||||
[nvme_fabrics_type_property_set] = "Property Set",
|
||||
[nvme_fabrics_type_property_get] = "Property Get",
|
||||
[nvme_fabrics_type_connect] = "Connect",
|
||||
[nvme_fabrics_type_auth_send] = "Authentication Send",
|
||||
[nvme_fabrics_type_auth_receive] = "Authentication Receive",
|
||||
};
|
||||
|
||||
static const char * const nvme_statuses[] = {
|
||||
[NVME_SC_SUCCESS] = "Success",
|
||||
[NVME_SC_INVALID_OPCODE] = "Invalid Command Opcode",
|
||||
@ -185,3 +193,11 @@ const unsigned char *nvme_get_admin_opcode_str(u8 opcode)
|
||||
return nvme_admin_ops[opcode];
|
||||
return "Unknown";
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nvme_get_admin_opcode_str);
|
||||
|
||||
const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode) {
|
||||
if (opcode < ARRAY_SIZE(nvme_fabrics_ops) && nvme_fabrics_ops[opcode])
|
||||
return nvme_fabrics_ops[opcode];
|
||||
return "Unknown";
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nvme_get_fabrics_opcode_str);
|
||||
|
@ -1087,6 +1087,7 @@ static inline bool nvme_multi_css(struct nvme_ctrl *ctrl)
|
||||
const unsigned char *nvme_get_error_status_str(u16 status);
|
||||
const unsigned char *nvme_get_opcode_str(u8 opcode);
|
||||
const unsigned char *nvme_get_admin_opcode_str(u8 opcode);
|
||||
const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode);
|
||||
#else /* CONFIG_NVME_VERBOSE_ERRORS */
|
||||
static inline const unsigned char *nvme_get_error_status_str(u16 status)
|
||||
{
|
||||
@ -1100,6 +1101,18 @@ static inline const unsigned char *nvme_get_admin_opcode_str(u8 opcode)
|
||||
{
|
||||
return "Admin Cmd";
|
||||
}
|
||||
|
||||
static inline const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode)
|
||||
{
|
||||
return "Fabrics Cmd";
|
||||
}
|
||||
#endif /* CONFIG_NVME_VERBOSE_ERRORS */
|
||||
|
||||
static inline const unsigned char *nvme_opcode_str(int qid, u8 opcode, u8 fctype)
|
||||
{
|
||||
if (opcode == nvme_fabrics_command)
|
||||
return nvme_get_fabrics_opcode_str(fctype);
|
||||
return qid ? nvme_get_opcode_str(opcode) :
|
||||
nvme_get_admin_opcode_str(opcode);
|
||||
}
|
||||
#endif /* _NVME_H */
|
||||
|
Loading…
Reference in New Issue
Block a user