New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix MOSDOp encoding #6174
fix MOSDOp encoding #6174
Conversation
Signed-off-by: Sage Weil <sage@redhat.com>
lgtm with a nit which might not make any sense. |
Signed-off-by: Sage Weil <sage@redhat.com>
@tchaikov I cleaned this up, and fixed the v6 case too (which was totally broken.. reqid is at the very end!). This'll need to go through some upgrade tests before merging, but see if it looks right first? |
features(feat) { | ||
set_tid(tid); | ||
|
||
// also put the client_inc in reqid.inc, so that get_reqid() can | ||
// be used before the full message is decode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/decode/decoded/
lgtm other than a typo and the order of checking |
We can't avoid this because we need the reqid before we've done the full decoding, and that is at the very end of v6. Too bad, so sad! Signed-off-by: Sage Weil <sage@redhat.com>
Normally, we don't fill in reqid at all (it's only for proxied ops). But we need the reqid from the partial decode. Put client_inc in reqid.inc when encoding the new format, and when decoding the old formats. Then fabricate the correct reqid in get_reqid(). Signed-off-by: Sage Weil <sage@redhat.com>
5563183
to
0bf2a79
Compare
fixed those 2 things, thanks! |
lgtm after the qa run passes. |
fix MOSDOp encoding Reviewed-by: Kefu Chai <kchai@redhat.com>
We were previously using clenit_id in print() even though it was not decoded,
and the reqid handling was semi-broken.