Feature #12107
mds: use versioned wire protocol; obviate CEPH_MDS_PROTOCOL
0%
History
#1 Updated by John Spray over 8 years ago
This code needs a rework to support versioning, because the outer message encoding in e.g. handle_discover_reply operates on a "while(!p.end())" basis. These structures need to be lists of bufferlists instead, where each bufferlist is something versioned.
#2 Updated by John Spray over 8 years ago
Oh right, so as Zheng reminds me in his patch for #12105, we do have the CEPH_MDS_PROTOCOL value for these changes.
I don't know... it still feels like it would be better to not rely on a global protocol version for all these fields. Anyone else have feelings?
#3 Updated by Zheng Yan over 8 years ago
yes, it's better to not rely on CEPH_MDS_PROTOCOL. (CEPH_MDS_PROTOCOL will make the rework easier)
#4 Updated by Greg Farnum over 8 years ago
Mmmm. For over-the-wire encodings that don't go to disk, it's only about whether cross-version daemons can communicate or not.
I think it might be worth maintaining that communication as much as possible, but I'm not certain where the best place to put in the versioning is — for instance we might want to do a per-message or per-session encoding version instead that we keep track of instead?
#5 Updated by John Spray over 8 years ago
- Tracker changed from Bug to Feature
#6 Updated by Greg Farnum over 7 years ago
- Category set to 90
#7 Updated by Patrick Donnelly almost 6 years ago
- Subject changed from Inodes, Dirs encoded unversioned in encode_replica to mds: use versioned wire protocol; obviate CEPH_MDS_PROTOCOL
- Target version set to v13.0.0
- Component(FS) MDS added
#8 Updated by dongdong tao almost 6 years ago
I'm working on this, please assign this to me
#9 Updated by Patrick Donnelly almost 6 years ago
- Status changed from New to In Progress
- Assignee set to dongdong tao
#10 Updated by dongdong tao almost 6 years ago
have added the support for MDentryLink and MDentryUnlink,
next step is CInode::encode_lock_state/CInode::decode_lock_state,
there are two big switch, need to break down to small encode/decode functions for each state.
#11 Updated by Patrick Donnelly over 5 years ago
- Category deleted (
90) - Target version changed from v13.0.0 to v14.0.0
- Tags set to multimds,upgrade
#12 Updated by Patrick Donnelly almost 5 years ago
- Target version changed from v14.0.0 to v15.0.0
#13 Updated by Patrick Donnelly over 4 years ago
- Status changed from In Progress to Fix Under Review
- Start date deleted (
06/22/2015) - Tags deleted (
multimds,upgrade) - Pull request ID set to 20160
- Labels (FS) multimds added
#14 Updated by Patrick Donnelly over 4 years ago
- Status changed from Fix Under Review to Resolved