> > diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h > > index 07d4395..f7fe68d 100644 > > --- a/include/infiniband/verbs.h > > +++ b/include/infiniband/verbs.h > > @@ -192,7 +192,7 @@ struct ibv_port_attr { > > uint8_t active_width; > > uint8_t active_speed; > > uint8_t phys_state; > > - enum rdma_transport_type transport; > > + uint8_t transport;
If a given architecture rounds sizeof(transport) up to 16 bits or 32 bits, then the replacement field should be uint16_t or uint32_t respectively, otherwise existing binary applications which fetch transport will fetch additional undefined bytes which follow it in the new structure. The big question is whether all presently supported architectures use the same size for enum? I did a quicky test program and on SLES10 x86_64 sizeof(an enum) is 32 bits. Hence uint8_t would break binary compatibility on that platform. Todd Rimmer -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html