librdmacm: do not modify qp_init_attr in rdma_get_request
rdma_create_qp modifies the qp_init_attr structure passed in
by the user to return the actual QP capabilities that were
allocated. If the qp_init_attr does not specify CQs, the
librdmacm will allocate CQs for the user and return them.
rdma_get_request will allocate a QP off newly connected rdma_cm_id
if the corresponding listen request is associated with a
qp_init_attr structure. The librdmacm passes in the listen->
qp_init_attr structure into the rdma_create_qp call.
rdma_create_qp ends up modifying the qp_init_attr's associated
with the listen. The result is that future calls to
rdma_get_request will use the modified qp attributes, rather
than those specified by the user.
Fix this by having rdma_get_request pass in a copy of the
qp_init_attr, rather than modifying those associated with the
listen. Also update the man page for rdma_create_qp to indicate
that the qp_init_attr structure may be modified on output.