Skip to content

Instantly share code, notes, and snippets.

@changchengx
Last active May 8, 2021 09:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save changchengx/67694841d9559debf5bbf31a16d5bd0d to your computer and use it in GitHub Desktop.
Save changchengx/67694841d9559debf5bbf31a16d5bd0d to your computer and use it in GitHub Desktop.
PWL ReplicaDaemon & ReplicaMonitor
+-----------------------------------+ +-----------------------------------------------+
|+---------------------------------+| | +--------------------+|
|| ReplicaDaemonInfo: || | |PaxosServiceMessage ||
|| || |+---------------------------------------------+|
|| daemon_id; || ||MReplicaDaemonBlink(MSG_REPLICADAEMON_BLINK):||
|| rnic_bind_port; || || ||
|| rnic_addr; || ||ReplicaDaemonInfo; ||
|| free_size; || |+---------------------------------------------+|
|+---------------------------------+| | +--------------------+|
|+---------------------------------+| | |PaxosServiceMessage ||
|| ReqReplicaDaemonInfo: || |+---------------------------------------------+|
|| || ||MMonGetReplicaDaemonMap(CEPH_MSG_MON_GET_REPL||
|| replicas; || ||ICADAEMONMAP): ||
|| replica_size; || || ||
|+---------------------------------+| ||ReqReplicaDaemonInfo; ||
|+---------------------------------+| |+---------------------------------------------++
|| ReplicaDaemonMap: || | +-------+|
|| || | |Message||
|| std::vector<ReplicaDaemonInfo>; || |+---------------------------------------------+|
|+---------------------------------+| ||MMonGetReplicaDaemonMap(CEPH_MSG_MON_GET_REPL||
| MetaData(need encode/decode) | ||ICADAEMONMAP): ||
| | || ||
| | ||ReqReplicaDaemonInfo; ||
| | |+---------------------------------------------+|
| | | |
| | | Three messages defined for the MetaData |
+-----------------------------------+ +-----------------------------------------------+
+--------+ +------------+
|Dispatch| |PaxosService|
+---------------------+ Update ReplicaDaemonInfo +---------------------------+
| ReplicaDaemon: | through | ReplicaMonitor: |
| | MReplicaDaemonBlink | |
| ReplicaDaemonInfo; -----------------------------------> ReplicaDaemonMap; |
| | | |
| ms_dispatch; | | //Need implement some APIs|
+---------------------+ +------^-------------|------+
Request ReplicaDaemonMap Feedback ReplicaDaemonMap
through | |through
MMonGetReplicaDaemonMap MReplicaDaemonMap
+------|-------------v------+
| librbd |
+---------------------------+
@changchengx
Copy link
Author

@dillaman @liewegas
Please help review

@changchengx
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment