Project

General

Profile

Feature #9167

erasure-code: check plugin version when loading it

Added by Loic Dachary over 5 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
OSD
Target version:
% Done:

100%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

When loading the erasure code plugin, check the Ceph version against which it was built and fail if it does not match. A given plugin will work with a given version of Ceph only and if this check is not done it will crash the daemon instead of reporting a human readable error. See http://tracker.ceph.com/issues/9153 for an example of such failure.


Related issues

Related to Ceph - Bug #9153: erasure-code: jerasure_matrix_dotprod segmentation fault due to package upgrade race Resolved 08/17/2014

Associated revisions

Revision 3c4220e1 (diff)
Added by Loic Dachary over 5 years ago

erasure-code: add Ceph version check to plugins

Add the __erasure_code_version function to all plugins, to return the
Ceph version against which they have been compiled. When a plugin is
loaded, an error is thrown if the version of the plugin does not match
the version of the daemon loading it.

If the symbol does not exist, which will be true of older plugins, set
the version to "an older version" so it never matches.

http://tracker.ceph.com/issues/9167 Fixes: #9167

Signed-off-by: Loic Dachary <>

History

#1 Updated by Loic Dachary over 5 years ago

  • Target version changed from 0.85 cont. to 0.86

#2 Updated by Loic Dachary over 5 years ago

  • Status changed from 12 to Fix Under Review
  • % Done changed from 0 to 80

#3 Updated by Loic Dachary over 5 years ago

  • Status changed from Fix Under Review to Resolved
  • % Done changed from 80 to 100

Also available in: Atom PDF