Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The MetaRequest is a refcounted object. On construction, it will default ref to 1.
The general process to make an MDS request will be:
As mentioned, make_request() will put the passed request before returning(and thereby
delete the request automatically).
To be more specific here, the make_request() will call "mds_requests[tid] = request->get();"
to keep the request well local tracked on entry(which raises the ref of request to 2).
And on error exit(especially for the following no reply is received case), by calling both
, it will decrease the reference of the corresponding request to zero and thereby delete request.
Therefore the call to request thereafter is at risk of "access violation".
Signed-off-by: xie xingguo xie.xingguo@zte.com.cn