Feature #8496
erasure-code: ErasureCode base class
100%
Description
Create an ErasureCode base class from which ErasureCodeJerasure can derive. Move non jerasure specific logic to ErasureCode for sharing with the upcoming LRC class.
Related issues
Associated revisions
erasure-code: ErasureCode base class
Add the ErasureCode base class for ErasureCodeJerasure and
ErasureCodeIsa, for methods that can be shared among all plugins.
http://tracker.ceph.com/issues/8496 Fixes: #8496
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: move to ErasureCode::{encode,decode}{,chunk}
The bulk of ErasureCode{Jerasure,Isa}::encode and
ErasureCode{Jerasure,Isa}::decode is dealing with alignment and buffer
allocation. This is moved to ErasureCode::encode and ErasureCode::decode
respectively.
The jerasure/isa specific code is isolated in the new
ErasureCode{Jerasure,Isa}::encode_chunks and
ErasureCode{Jerasure,Isa}::decode_chunks virtual functions.
http://tracker.ceph.com/issues/8496 Refs: #8496
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: move to ErasureCode::minimum_to_decode*
The ErasureCode{Jerasure,Isa}::minimum_to_decode and
ErasureCode{Jerasure,Isa}::minimum_to_decode_with_cost methods are moved
verbatim to the ErasureCode base class.
http://tracker.ceph.com/issues/8496 Refs: #8496
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: move to ErasureCode::to_{int,bool}
The parameter parser helpers to_int and to_bool are moved from
ErasureCode{Jerasure,Isa} to ErasureCode.
The prototype is modified to return a status instead of the value. An
error ostream is provided as the last argument because ErasureCode
cannot use dout() or derr().
http://tracker.ceph.com/issues/8496 Refs: #8496
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: rework ErasureCode*::parse methods
The ErasureCode::parse virtual function is derived in
ErasureCode{Jerasure,Isa}. It is reworked to share parsing arguments the
various techniques have in common. The logic is otherwise unmodified.
http://tracker.ceph.com/issues/8496 Refs: #8496
Signed-off-by: Loic Dachary <loic@dachary.org>
History
#1 Updated by Loïc Dachary almost 9 years ago
- Status changed from In Progress to Fix Under Review
- % Done changed from 0 to 80
#2 Updated by Ian Colle almost 9 years ago
- Target version changed from 0.83 to 0.83 cont.
#3 Updated by Samuel Just over 8 years ago
- Target version changed from 0.83 cont. to 0.84
#4 Updated by Loïc Dachary over 8 years ago
- Status changed from Fix Under Review to Rejected
It is part of a larger pull request
#5 Updated by Loïc Dachary over 8 years ago
- Status changed from Rejected to In Progress
Because it needs work to adapt the isa plugin, it deserves a separate patch. Otherwise it mixes two unrelated topics.
#6 Updated by Loïc Dachary over 8 years ago
- Status changed from In Progress to Fix Under Review
#7 Updated by Loïc Dachary over 8 years ago
- Status changed from Fix Under Review to 7
#8 Updated by Ian Colle over 8 years ago
- Target version changed from 0.84 to 0.85 cont.
#9 Updated by Loïc Dachary over 8 years ago
The test only had one job for some reason and needs to be re-run
#10 Updated by Loïc Dachary over 8 years ago
- Description updated (diff)
#11 Updated by Loïc Dachary over 8 years ago
scheduled upgrade:firefly-x:stress-split with 21 jobs this time
#12 Updated by Loïc Dachary over 8 years ago
#14 Updated by Loïc Dachary over 8 years ago
The upgrade:firefly-x:stress-split passes (the fail & running are an mds decode bug )
#15 Updated by Loïc Dachary over 8 years ago
- Status changed from 7 to Resolved
- % Done changed from 80 to 100