Actions
Bug #21882
closedsome kernels don't understand crush compat weight-set
Status:
Resolved
Priority:
Immediate
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
teuthology kernel is Linux teuthology 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
on lab cluster, set a bunch of compat weight-set weights, and ios stalled.
osdc shows ops mapping to one osd, but ceph pg map maps to another.
probably the cluster isn't compat-encoding for the kernel's features?
'ceph osd crush weight-set rm-compat' resolves it. 'ceph balancer on' should retrigger it.
Updated by Sage Weil over 6 years ago
I think this is the problem:
diff --git a/src/messages/MOSDMap.h b/src/messages/MOSDMap.h index fa46189bf0..865642cf41 100644 --- a/src/messages/MOSDMap.h +++ b/src/messages/MOSDMap.h @@ -113,6 +113,14 @@ public: inc.fullmap.clear(); m.encode(inc.fullmap, features | CEPH_FEATURE_RESERVED); } + if (inc.crush.length()) { + // embedded crush map + CrushWrapper c; + auto p = inc.crush.begin(); + c.decode(p); + inc.crush.clear(); + c.encode(inc.crush, features); + } inc.encode(p->second, features | CEPH_FEATURE_RESERVED); } for (map<epoch_t,bufferlist>::iterator p = maps.begin();
we weren't reencoding a compat version of the incrementals.. only the full maps.
Updated by Sage Weil over 6 years ago
- Status changed from 12 to Fix Under Review
- Backport set to luminous
Updated by Sage Weil over 6 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Nathan Cutler over 6 years ago
- Copied to Backport #21917: luminous: some kernels don't understand crush compat weight-set added
Updated by Nathan Cutler over 6 years ago
- Status changed from Pending Backport to Resolved
Actions