caitlin> DAT_RETURN serves two distinct purposes: it is an immediate return caitlin> to a kernel specific caller, and it is a standardized error encoding for caitlin> clients outside of the linux kernel (loadable modules and or proxied caitlin> user consumers). caitlin> caitlin> Even if the functional return to in-kernel clients is converted to comply caitlin> with kernel coding conventions, the information currently encoded caitlin> in the DAT_RETURN needs to be deliverable to DAPL clients that caitlin> are outside of the linux kernel.
DAPL clients outside the linux kernel, userspace clients, should use the uDAPL API. No changes are being proposed for the uDAPL API. caitlin> Therefore the current enums need to be retained, and there should caitlin> be some mechanism for these precise diagnostics to be relayed caitlin> to non-kernel clients. An external shim cannot do this *after* caitlin> the information is lost by using a standard error return. (I am caitlin> assuming that creating a list of error returns that encompass caitlin> everything that DAT_RETURN *Can* encode is out of the caitlin> question, there's a reason it's multi-layer now). Many of the DAT_RETURN values are useful for debugging (e.g. the ability to say that parameter number 4 is invalid). However, I can't imagine a DAT API consumer that would actually provide error recovery code for each of the 22 major * 102 minor = 2244 different possible error values, let alone warning values, for every API call. I think that some of this information can be logged or obtained during debugging. caitlin> One possibility would be to add an external_client_dat_return * caitlin> out parameter that would allow a shim to restore the full caitlin> DAT defined error code for non-kernel clients. Adding an additional out parameter to every API function would clutter the interface. caitlin> On 5/12/05, Tom Duffy <[EMAIL PROTECTED]> wrote: caitlin> > On Thu, 2005-05-12 at 11:50 -0400, James Lentini wrote: caitlin> > > Thanks for the updated patch Tom. It is committed in revision 2316. caitlin> > > caitlin> > > Eventually we will need to remove our dat_return_* enums and replace caitlin> > > our return values with errno values. Correct? caitlin> > caitlin> > That is right. This is just a first pass at cleaning it up. caitlin> > caitlin> > -tduffy _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general