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