Description of problem: In rpc layer, we will notify RPC_TRANSPORT_MAP_XID_REQUEST event to rpc_clnt layer for getting original rpc_req when we get a reply. The info->rsp will be copyed from saved_frame.rsp in function rpc_clnt_fill_request_info. But the struct saved_frame's member rsp hasn't ever been set in submitting procedure which will cause request_info->rsp.payload_count==0 in function __socket_read_reply, and then it will get a new rsp_iobuf for current vectored reply, the rsp_iobuf has been set in function client3_3_readv actually. We don't need to get iobuf twice in one readv operation. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
REVIEW: http://review.gluster.org/14883 (rpc: set struct saved_frame's member rsp) posted (#1) for review on master by Zhou Zhengping (johnzzpcrystal)
This update is done in bulk based on the state of the patch and the time since last activity. If the issue is still seen, please reopen the bug.