Subtask #4928
Updated by Loïc Dachary almost 11 years ago
* The goal is not to factor out a base class from which an ErasureEncodedPG could be derived, it is to reverse engineer the PG API * PG/ReplicatedPG are really a single class although they grew from two different classes, back when RAID4 was to be implemented : the difference between the two gradually disapeared * Define an API ( IPG ? ) class for PG/ReplicatedPG * Change the code using PG/ReplicatedPG to use the API class rather than the actual PG/RepliatedPG classes ** this may involve modifying the code of the calling classes to use accessors when data members are referenced ** the callers are not otherwise modified, to minimize the change ** it is assumed that the the API is defined by what is used and no attempt is made to improve * Tests are written for the API to cover 100% of the LOC and most of the expected functionalities implemented by PG/ReplicatedPG. http://pad.ceph.com/p/Erasure_encoding_as_a_storage_backend