Use SPDK_CONTAINEROF in a few more places
A few open-coded sequences equivalent to SPDK_CONTAINEROF() were scattered around; replace them with the macro from spdk/util.h. Change-Id: I95c6e6838902f411420573399ced7c58c2e4ef84 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/418126 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
7d24e2a4cd
commit
4a9dce9a48
@ -47,6 +47,7 @@
|
||||
#include "spdk/queue.h"
|
||||
#include "spdk/scsi_spec.h"
|
||||
#include "spdk/thread.h"
|
||||
#include "spdk/util.h"
|
||||
#include "spdk/uuid.h"
|
||||
|
||||
/** Block device module */
|
||||
@ -690,8 +691,7 @@ struct spdk_bdev_module *spdk_bdev_module_list_find(const char *name);
|
||||
static inline struct spdk_bdev_io *
|
||||
spdk_bdev_io_from_ctx(void *ctx)
|
||||
{
|
||||
return (struct spdk_bdev_io *)
|
||||
((uintptr_t)ctx - offsetof(struct spdk_bdev_io, driver_ctx));
|
||||
return SPDK_CONTAINEROF(ctx, struct spdk_bdev_io, driver_ctx);
|
||||
}
|
||||
|
||||
struct spdk_bdev_part_base;
|
||||
|
@ -37,6 +37,7 @@
|
||||
|
||||
#include "iscsi/iscsi.h"
|
||||
#include "spdk/scsi.h"
|
||||
#include "spdk/util.h"
|
||||
|
||||
struct spdk_iscsi_task {
|
||||
struct spdk_scsi_task scsi;
|
||||
@ -169,7 +170,7 @@ struct spdk_iscsi_task *spdk_iscsi_task_get(struct spdk_iscsi_conn *conn,
|
||||
static inline struct spdk_iscsi_task *
|
||||
spdk_iscsi_task_from_scsi_task(struct spdk_scsi_task *task)
|
||||
{
|
||||
return (struct spdk_iscsi_task *)((uintptr_t)task - offsetof(struct spdk_iscsi_task, scsi));
|
||||
return SPDK_CONTAINEROF(task, struct spdk_iscsi_task, scsi);
|
||||
}
|
||||
|
||||
static inline struct spdk_iscsi_task *
|
||||
|
@ -316,14 +316,14 @@ static inline struct nvme_pcie_ctrlr *
|
||||
nvme_pcie_ctrlr(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
assert(ctrlr->trid.trtype == SPDK_NVME_TRANSPORT_PCIE);
|
||||
return (struct nvme_pcie_ctrlr *)((uintptr_t)ctrlr - offsetof(struct nvme_pcie_ctrlr, ctrlr));
|
||||
return SPDK_CONTAINEROF(ctrlr, struct nvme_pcie_ctrlr, ctrlr);
|
||||
}
|
||||
|
||||
static inline struct nvme_pcie_qpair *
|
||||
nvme_pcie_qpair(struct spdk_nvme_qpair *qpair)
|
||||
{
|
||||
assert(qpair->trtype == SPDK_NVME_TRANSPORT_PCIE);
|
||||
return (struct nvme_pcie_qpair *)((uintptr_t)qpair - offsetof(struct nvme_pcie_qpair, qpair));
|
||||
return SPDK_CONTAINEROF(qpair, struct nvme_pcie_qpair, qpair);
|
||||
}
|
||||
|
||||
static volatile void *
|
||||
|
@ -154,14 +154,14 @@ static inline struct nvme_rdma_qpair *
|
||||
nvme_rdma_qpair(struct spdk_nvme_qpair *qpair)
|
||||
{
|
||||
assert(qpair->trtype == SPDK_NVME_TRANSPORT_RDMA);
|
||||
return (struct nvme_rdma_qpair *)((uintptr_t)qpair - offsetof(struct nvme_rdma_qpair, qpair));
|
||||
return SPDK_CONTAINEROF(qpair, struct nvme_rdma_qpair, qpair);
|
||||
}
|
||||
|
||||
static inline struct nvme_rdma_ctrlr *
|
||||
nvme_rdma_ctrlr(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
assert(ctrlr->trid.trtype == SPDK_NVME_TRANSPORT_RDMA);
|
||||
return (struct nvme_rdma_ctrlr *)((uintptr_t)ctrlr - offsetof(struct nvme_rdma_ctrlr, ctrlr));
|
||||
return SPDK_CONTAINEROF(ctrlr, struct nvme_rdma_ctrlr, ctrlr);
|
||||
}
|
||||
|
||||
static struct spdk_nvme_rdma_req *
|
||||
|
Loading…
Reference in New Issue
Block a user