[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