Project

General

Profile

Actions

Bug #41565

closed

mds: detect MDS<->MDS messages that are not versioned

Added by Patrick Donnelly over 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Code Hygiene
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Inter-MDS messages are now versioned. We should add a check that confirms that no current or new messages sent between MDSs are not versioned. In [1], I've suggested that we do:

Because it's not easily determined if a message passed between MDSs is versioned, I suggest one more change where all MDS-MDS messages inherit from a new message class (like MOSDPeeringOp) which we can then trivially check in MDSRankDispatcher::ms_dispatch:

if (m->get_source().is_mds()) {
ceph_assert(dynamic_cast<MMDSOp*>(m.get()));
}
So any new or missing messages must (at least) inherit from that class before the MDS will even dispatch the message.

[1] https://github.com/ceph/ceph/pull/20160#pullrequestreview-268596680


Subtasks 1 (1 open0 closed)

Bug #46218: mds: Add inter MDS messages to the corpus and enforce versioningTriagedJos Collin

Actions

Related issues 1 (1 open0 closed)

Blocks CephFS - Feature #41566: mds: support rolling upgradesIn ProgressJos Collin

Actions
Actions #1

Updated by Patrick Donnelly over 4 years ago

Actions #2

Updated by Jos Collin over 4 years ago

  • Status changed from New to In Progress
Actions #3

Updated by Jos Collin over 4 years ago

  • Pull request ID set to 31726
Actions #4

Updated by Jos Collin over 4 years ago

  • Status changed from In Progress to Fix Under Review
Actions #5

Updated by Patrick Donnelly about 4 years ago

  • Target version changed from v15.0.0 to v16.0.0
Actions #6

Updated by Patrick Donnelly almost 4 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF