Project

General

Profile

Feature #8496

erasure-code: ErasureCode base class

Added by Loïc Dachary almost 10 years ago. Updated over 9 years ago.

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

100%

Source:
Community (dev)
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

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

Related to Ceph - Feature #7238: erasure code : implement LRC plugin Resolved 01/25/2014
Blocks Ceph - Feature #9025: erasure-code: chunk remapping Resolved 08/06/2014

Associated revisions

Revision 1ebce988 (diff)
Added by Loïc Dachary over 9 years ago

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 <>

Revision 4ff981f4 (diff)
Added by Loïc Dachary over 9 years ago

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 <>

Revision b4b7c51f (diff)
Added by Loïc Dachary over 9 years ago

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 <>

Revision 54394fa1 (diff)
Added by Loïc Dachary over 9 years ago

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 <>

Revision 0114b335 (diff)
Added by Loïc Dachary over 9 years ago

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 <>

History

#1 Updated by Loïc Dachary almost 10 years ago

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

#2 Updated by Ian Colle over 9 years ago

  • Target version changed from 0.83 to 0.83 cont.

#3 Updated by Samuel Just over 9 years ago

  • Target version changed from 0.83 cont. to 0.84

#4 Updated by Loïc Dachary over 9 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 9 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 9 years ago

  • Status changed from In Progress to Fix Under Review

#7 Updated by Loïc Dachary over 9 years ago

  • Status changed from Fix Under Review to 7

#8 Updated by Ian Colle over 9 years ago

  • Target version changed from 0.84 to 0.85 cont.

#9 Updated by Loïc Dachary over 9 years ago

The test only had one job for some reason and needs to be re-run

#10 Updated by Loïc Dachary over 9 years ago

  • Description updated (diff)

#14 Updated by Loïc Dachary over 9 years ago

The upgrade:firefly-x:stress-split passes (the fail & running are an mds decode bug )

#15 Updated by Loïc Dachary over 9 years ago

  • Status changed from 7 to Resolved
  • % Done changed from 80 to 100

Also available in: Atom PDF