From: Cole Robinson Date: Mon, 30 Apr 2018 18:11:05 -0400 Subject: [PATCH] iser: Use local container_of definition The code was implicitly dependent on container_of from inifiniband/verbs.h, however that's been removed in rdma-core latest release: https://github.com/linux-rdma/rdma-core/commit/ce0274acffc78ed2861a56bdc34cdd3d60c20e1f Define container_of locally if it's not already defined (cherry picked from commit f1feb218e2823d236569f0ca3cfad07334f2a304) --- lib/iser.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/iser.c b/lib/iser.c index 17832c3..aa7244c 100644 --- a/lib/iser.c +++ b/lib/iser.c @@ -32,6 +32,20 @@ #include #include + +#ifndef container_of +/** + * container_of - cast a member of a structure out to the containing structure + * @ptr: the pointer to the member. + * @type: the type of the container struct this is embedded in. + * @member: the name of the member within the struct. + * + */ +#define container_of(ptr, type, member) \ + ((type *) ((uint8_t *)(ptr) - offsetof(type, member))) +#endif + + #ifdef __linux static int cq_handle(struct iser_conn *iser_conn);