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".
--CQ > -----Original Message----- > From: Roland Dreier [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 04, 2007 6:18 PM > To: Tang, Changqing > Cc: Tziporet Koren; [EMAIL PROTECTED]; > [email protected] > Subject: Re: [ofa-general] OFED 1.3 Beta release is available > > > Here is an issue we have: > > > > 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; > > }; > > > > The binary is compiled with OFED 1.2 header files, it > tries to set async_fd to non-blocking, I get error: > > Bad file descriptor. If I compile the binary with > OFED-1.3-beta header files (with XRC changes), it works fine. > > > > Is this the expected behavior, or there will be a fix ? > > Unfortunately the XRC patches were put into OFED 1.3 before > they went into the upstream libibverbs tree, so I have not > reviewed them in detail. If XRC support requires an ABI > change, then we'll have to create a new ABI and provide > versioned symbols for backwards compatibility. > > However your problem seems quite strange: I don't see any > change to struct ibv_context caused by the XRC patches. So I > don't understand exactly what is causing the problem you see. > Can you debug further to see which structure layout change > is the real issue? > > - R. > _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
