Project

General

Profile

Subtask #5433

Updated by Loïc Dachary over 10 years ago

"work in progress":https://github.com/dachary/ceph/tree/wip-5433

* class PG ( has a PGBackendInterface* member )
* class ReplicatedPGBackend : public PGBackend
* class PGBackend : PGBackendInterface ( has a PG* member )
* PGBackendInterface ( abstract )
* PGBackendInterface* pg_backend_factory

h3. Discussions

* "Separating Peering from PG":http://thread.gmane.org/gmane.comp.file-systems.ceph.devel/15755

h3. References

* "Ceph Placement Groups peering":http://dachary.org/?p=2061
* "Description of the Peering Process":https://github.com/ceph/ceph/blob/b89d7420e3501247d6ed282d2253c95c758526b1/doc/dev/peering.rst

h3. TODO

* Create a PGBackend interface: this will be the interface used by PG for handling client IO and replication
* Refactor ReplicatedPG logic in terms of PGBackend
* Write tests for the ReplicatedPG PGBackend implementation

h3. Obsolete

"Attempt to factor out part of the RecoveryState":https://github.com/dachary/ceph/commit/431147bd59e5bf9f8cb28c51c1442ce61412be0c

Back