[ofa-general] Re: [PATCH 3 of 5] libcxgb3: zero context struct at allocation time (prep for additional context ops)

Steve Wise swise at opengridcomputing.com
Mon Dec 17 12:18:04 PST 2007


Applied. Thanks.

I've released version 1.1.1 of the library, and updated the ofed_1_3 branch.

Vlad, can you pull version 1.1.1 for ofed-1.3?

git://git.openfabrics.org/~swise/libcxgb3.git ofed_1_3


Thanks,

Steve.


Jack Morgenstein wrote:
> The ibv_context structure will be getting additional ops,
> to be added at the end of the structure (and not as part of
> the existing ibv_context_ops structure).
> 
> Reason: ibv_context_ops is declared directly as a member of ibv_context,
> and not as a pointer.  Binaries compiled with previous libibverbs versions
> will not be backwards compatible if we add new operations to ibv_context_ops,
> since fields following the ops structure will move.
> 
> To enable adding new operations at the end of the existing ibv_context struct,
> all driver libraries MUST zero their context structure at allocation time, so
> that new ops will be NULL by default.
> 
> Signed-off-by: Jack Morgenstein <jackm at dev.mellanox.co.il>
> 
> diff --git a/src/iwch.c b/src/iwch.c
> index 2747518..517ff00 100644
> --- a/src/iwch.c
> +++ b/src/iwch.c
> @@ -114,6 +114,7 @@ static struct ibv_context *iwch_alloc_context(struct ibv_device *ibdev,
>  	if (!context)
>  		return NULL;
>  
> +	memset(context, 0, sizeof *context);
>  	context->ibv_ctx.cmd_fd = cmd_fd;
>  
>  	if (ibv_cmd_get_context(&context->ibv_ctx, &cmd, sizeof cmd,




More information about the general mailing list