[ewg] RE: [ofa-general] OFED 1.3 Beta release is available

Tang, Changqing changquing.tang at hp.com
Wed Dec 5 07:45:17 PST 2007


Roland:
        I think in future we will have more such changes, why don't we take the
pain now to make ops as a pointer and mark it as verbs 1.2 ?


--CQ


> -----Original Message-----
> From: Roland Dreier [mailto:rdreier at cisco.com]
> Sent: Tuesday, December 04, 2007 11:25 PM
> To: Tang, Changqing
> Cc: Tziporet Koren; ewg at lists.openfabrics.org;
> general at lists.openfabrics.org
> Subject: Re: [ofa-general] OFED 1.3 Beta release is available
>
>  > I think the problem is that sizeof "struct
> ibv_context_ops" has  > changed, so the new driver returns a
> big "struct ibv_context", app  > compiled with older header
> file has a smaller "struct ibv_context"
>  > and use the old offset to find fields after "ops".
>
> Oh crud, you're obviously right.  For some reason I kept
> missing that when I looked over the code.
>
> I think the only alternative we have to preserve backwards
> compatibility is to leave struct ibv_context_ops alone and
> change the structure to:
>
> struct ibv_context {
>         struct ibv_device      *device;
>         struct ibv_context_ops  ops;
>         int                     cmd_fd;
>         int                     async_fd;
>         int                     num_comp_vectors;
>         pthread_mutex_t         mutex;
>         void                   *abi_compat;
>         struct ibv_xrc_op      *xrc_ops;
> };
>
> with xrc_ops added at the end.  It's my fault for not making
> the ops member a pointer I guess.
>
> Tziporet/Jack/whoever -- please fix up the libibverbs you
> ship for OFED 1.3 to resolve this.
>
> We can clean this up for libibverbs 1.2 when the ABI can
> change, if/when we have something worth breaking the ABI for.
>
>  - R.
>



More information about the ewg mailing list