Bug #3731
closedrados.h: recent change to CEPH_OSD_OP_CALL constitutes an incompatible protocol change
0%
Description
CEPH_OSD_OP_CALL changed to remove the CEPH_OSD_OP_MODE_RD bit in
91e941aef9f55425cc12204146f26d79c444cfae; however, this means the call op
on the wire is now different, and older OSDs don't understand the new
call opcode.
We need more backward compatibility.
(one symptom is that rbd operations on old images now fail for anything
that needs do a class operation; there are doubtless others)
Updated by Greg Farnum over 11 years ago
Discussed this with Dan and Sam and I think we just want to roll this patch back and tell people not to use v0.56 for anything that uses class methods, and then hack the init_op_flags function to not set the read flag on class calls. The other option is feature bits and then having both ends do bit twiddles based on what the other end looks like, but that wouldn't work for v0.56 stuff anyway since its feature bits wouldn't match the op codes it's using...
Updated by Sage Weil over 11 years ago
Agreed. And let's make sure it's fixed for 0.56.1.
Updated by Sage Weil over 11 years ago
- Status changed from Fix Under Review to Resolved
Updated by Alex Elder over 11 years ago
Do we have a test that checks our interfaces to
automatically catch inadvertent protocol changes?
If not, we should.