diff --git a/CHANGELOG.md b/CHANGELOG.md index 488b3241d..74e762751 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## v22.01: (Upcoming Release) +### nvme + +API `spdk_nvme_trtype_is_fabrics` was added to return existing transport type +is fabric or not. + ### bdev The parameter `retry_count` of the RPC `bdev_nvme_set_options` was deprecated and will be diff --git a/include/spdk/nvme.h b/include/spdk/nvme.h index 72d3f2897..a418d339d 100644 --- a/include/spdk/nvme.h +++ b/include/spdk/nvme.h @@ -387,6 +387,14 @@ enum spdk_nvme_transport_type { SPDK_NVME_TRANSPORT_CUSTOM = 4096, }; +static inline bool spdk_nvme_trtype_is_fabrics(enum spdk_nvme_transport_type trtype) +{ + /* We always define non-fabrics trtypes outside of the 8-bit range + * of NVMe-oF trtype. + */ + return trtype <= UINT8_MAX; +} + /* typedef added for coding style reasons */ typedef enum spdk_nvme_transport_type spdk_nvme_transport_type_t; diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index 31842f27d..cf87e4b62 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -5039,10 +5039,7 @@ spdk_nvme_ctrlr_is_fabrics(struct spdk_nvme_ctrlr *ctrlr) { assert(ctrlr); - /* We always define non-fabrics trtypes outside of the 8-bit range - * of NVMe-oF trtype. - */ - return ctrlr->trid.trtype < UINT8_MAX; + return spdk_nvme_trtype_is_fabrics(ctrlr->trid.trtype); } int