From 32dca97ab4ca7635a20a777fe513220ae87e672b Mon Sep 17 00:00:00 2001 From: Tokunori Ikegami Date: Wed, 9 Apr 2025 22:03:49 +0900 Subject: [PATCH] mi: add nvme_mi_submit entry and exit weak functions These are for the user to implement their own logging. Signed-off-by: Tokunori Ikegami --- src/libnvme-mi.map | 3 +++ src/nvme/mi.c | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/libnvme-mi.map b/src/libnvme-mi.map index af2e69748..a1482e3e5 100644 --- a/src/libnvme-mi.map +++ b/src/libnvme-mi.map @@ -1,5 +1,8 @@ # SPDX-License-Identifier: LGPL-2.1-or-later LIBNVME_MI_UNRELEASED { + global: + nvme_mi_submit_entry; + nvme_mi_submit_exit; }; LIBNVME_MI_1_12 { diff --git a/src/nvme/mi.c b/src/nvme/mi.c index 4640b0a92..4a3f8876f 100644 --- a/src/nvme/mi.c +++ b/src/nvme/mi.c @@ -414,10 +414,24 @@ static int nvme_mi_verify_resp_mic(struct nvme_mi_resp *resp) return resp->mic != ~crc; } +__attribute__((weak)) void *nvme_mi_submit_entry(__u8 type, const struct nvme_mi_msg_hdr *hdr, + size_t hdr_len, const void *data, size_t data_len) +{ + return NULL; +} + +__attribute__((weak)) void nvme_mi_submit_exit(__u8 type, const struct nvme_mi_msg_hdr *hdr, + size_t hdr_len, const void *data, size_t data_len, + void *user_data) { } + int nvme_mi_submit(nvme_mi_ep_t ep, struct nvme_mi_req *req, struct nvme_mi_resp *resp) { int rc; + void *user_data; + + user_data = nvme_mi_submit_entry(req->hdr->type, req->hdr, req->hdr_len, req->data, + req->data_len); if (req->hdr_len < sizeof(struct nvme_mi_msg_hdr)) { errno = EINVAL; @@ -502,6 +516,9 @@ int nvme_mi_submit(nvme_mi_ep_t ep, struct nvme_mi_req *req, return -1; } + nvme_mi_submit_exit(resp->hdr->type, resp->hdr, resp->hdr_len, resp->data, resp->data_len, + user_data); + return 0; }