On 29/01/2015 20:28, Jason Gunthorpe wrote:
> On Thu, Jan 29, 2015 at 06:59:58PM +0100, Yann Droneaud wrote:
>> > -          resp.odp_caps.general_caps = attr.odp_caps.general_caps;
>> > -          resp.odp_caps.per_transport_caps.rc_odp_caps =
>> > -                  attr.odp_caps.per_transport_caps.rc_odp_caps;
>> > -          resp.odp_caps.per_transport_caps.uc_odp_caps =
>> > -                  attr.odp_caps.per_transport_caps.uc_odp_caps;
>> > -          resp.odp_caps.per_transport_caps.ud_odp_caps =
>> > -                  attr.odp_caps.per_transport_caps.ud_odp_caps;
>> > -          resp.comp_mask |= IB_USER_VERBS_EX_QUERY_DEVICE_ODP;
>> > -  }
>> > +  resp.odp_caps.general_caps = attr.odp_caps.general_caps;
>> > +  resp.odp_caps.per_transport_caps.rc_odp_caps =
>> > +          attr.odp_caps.per_transport_caps.rc_odp_caps;
>> > +  resp.odp_caps.per_transport_caps.uc_odp_caps =
>> > +          attr.odp_caps.per_transport_caps.uc_odp_caps;
>> > +  resp.odp_caps.per_transport_caps.ud_odp_caps =
>> > +          attr.odp_caps.per_transport_caps.ud_odp_caps;
>> >  #endif
>> > +  resp.comp_mask |= IB_USER_VERBS_EX_QUERY_DEVICE_ODP;
> Not sure about this - if 0 is a valid null answer for all the _caps
> then it is fine, and the comp_mask bit should just be removed as the
> size alone should be enough.

Zero is indeed a valid answer. There the IB_ODP_SUPPORT bit in the
general_caps field that says whether or not ODP is supported in general.
The per transport capabilities are also default to not supported.

However, I think we should keep the comp_mask field for future
extensions. The current code doesn't report the size of the response to
user space, and in addition, comp_mask being a bit mask has the
advantage of allowing only part of the structure to be marked valid.

Regards,
Haggai
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to