Commit 1f0206cc authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

nvme: make nvme log macros safer



Sometimes, from the context, it is not clear whether the given pointer
is valid or NULL therefore, added checks for that.

Also added do/while to prevent other potential bugs.

Additionally make logs slightly more compact by removing the spaces.

Change-Id: I9f4c06077b5e87a01d2d0f34cc53a48201b8ff72
Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26540


Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
parent 2a5b3346
Loading
Loading
Loading
Loading
+34 −10
Original line number Diff line number Diff line
@@ -607,11 +607,21 @@ struct spdk_nvme_ns {
	(spdk_nvme_trtype_is_fabrics((ctrlr)->trid.trtype) ? \
	(ctrlr)->trid.subnqn : (ctrlr)->trid.traddr)

#define NVME_CTRLR_LOG(type, ctrlr, format, ...) \
	SPDK_##type##LOG("[%s, %u] " format, CTRLR_STRING(ctrlr), (ctrlr)->cntlid, ##__VA_ARGS__)

#define NVME_CTRLR_LOG2(type, component, ctrlr, format, ...) \
	SPDK_##type##LOG(component, "[%s, %u] " format, CTRLR_STRING(ctrlr), (ctrlr)->cntlid, ##__VA_ARGS__)
#define NVME_CTRLR_LOG(type, ctrlr, format, ...) do { \
	if ((ctrlr)) { \
		SPDK_##type##LOG("[%s,%u] " format, CTRLR_STRING(ctrlr), (ctrlr)->cntlid, ##__VA_ARGS__); \
	} else { \
		SPDK_##type##LOG("[null ctrlr] " format, ##__VA_ARGS__); \
	} \
} while (0)

#define NVME_CTRLR_LOG2(type, component, ctrlr, format, ...) do { \
	if ((ctrlr)) { \
		SPDK_##type##LOG(component, "[%s,%u] " format, CTRLR_STRING(ctrlr), (ctrlr)->cntlid, ##__VA_ARGS__); \
	} else { \
		SPDK_##type##LOG(component, "[null ctrlr] " format, ##__VA_ARGS__); \
	} \
} while (0)

#define NVME_CTRLR_ERRLOG(ctrlr, format, ...) NVME_CTRLR_LOG(ERR, ctrlr, format, ##__VA_ARGS__)
#define NVME_CTRLR_WARNLOG(ctrlr, format, ...) NVME_CTRLR_LOG(WARN, ctrlr, format, ##__VA_ARGS__)
@@ -619,11 +629,25 @@ struct spdk_nvme_ns {
#define NVME_CTRLR_INFOLOG(ctrlr, format, ...) NVME_CTRLR_LOG2(INFO, nvme, ctrlr, format, ##__VA_ARGS__)
#define NVME_CTRLR_DEBUGLOG(ctrlr, format, ...) NVME_CTRLR_LOG2(DEBUG, nvme, ctrlr, format, ##__VA_ARGS__)

#define NVME_QPAIR_LOG(type, qpair, format, ...) \
	SPDK_##type##LOG("[%s, %u, %u] " format, CTRLR_STRING((qpair)->ctrlr), (qpair)->ctrlr->cntlid, (qpair)->id, ##__VA_ARGS__)

#define NVME_QPAIR_LOG2(type, component, qpair, format, ...) \
	SPDK_##type##LOG(component, "[%s, %u, %u] " format, CTRLR_STRING((qpair)->ctrlr), (qpair)->ctrlr->cntlid, (qpair)->id, ##__VA_ARGS__)
#define NVME_QPAIR_LOG(type, qpair, format, ...) do { \
	if (!(qpair)) { \
		SPDK_##type##LOG("[null qpair] " format, ##__VA_ARGS__); \
	} else if (!(qpair)->ctrlr) { \
		SPDK_##type##LOG("[null ctrlr,%u] " format, (qpair)->id, ##__VA_ARGS__); \
	} else { \
		SPDK_##type##LOG("[%s,%u,%u] " format, CTRLR_STRING((qpair)->ctrlr), (qpair)->ctrlr->cntlid, (qpair)->id, ##__VA_ARGS__); \
	} \
} while (0)

#define NVME_QPAIR_LOG2(type, component, qpair, format, ...) do { \
	if (!(qpair)) { \
		SPDK_##type##LOG(component, "[null qpair] " format, ##__VA_ARGS__); \
	} else if (!(qpair)->ctrlr) { \
		SPDK_##type##LOG(component, "[null ctrlr,%u] " format, (qpair)->id, ##__VA_ARGS__); \
	} else { \
		SPDK_##type##LOG(component, "[%s,%u,%u] " format, CTRLR_STRING((qpair)->ctrlr), (qpair)->ctrlr->cntlid, (qpair)->id, ##__VA_ARGS__); \
	} \
} while (0)

#define NVME_QPAIR_ERRLOG(qpair, format, ...) NVME_QPAIR_LOG(ERR, qpair, format, ##__VA_ARGS__)
#define NVME_QPAIR_WARNLOG(qpair, format, ...) NVME_QPAIR_LOG(WARN, qpair, format, ##__VA_ARGS__)