Project

General

Profile

Subtask #4928

Updated by Loïc Dachary almost 11 years ago

"work in progress":https://github.com/dachary/ceph/commits/wip-4928

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

Back