Ok, maybe we are closer now. In the current proposal, when you do a
MPI_META_REQUEST_CREATE you get back a request. It is called meta_req
but it is of type MPI_Request. Thus, it can be given to MPI_Start
because it is a regular request. In the previous version of the
proposal meta_req was a different opaque object. In the new one it is
not. You can also take this request and create a persistent one with
the init function. This gives you back a different request which is
still of type MPI_Request.
I agree if we have new functions to start generalized requests then
the having extra_state is easy. If we decide not to then it is a
harder issue.
Steve