From 8a902f78573f07f01eaeb51e22d7f1bf58eb6869 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Thu, 8 Mar 2018 16:28:11 -0500 Subject: [PATCH] rbd_mirror: document the basic state flow for pool watcher Signed-off-by: Jason Dillaman --- src/tools/rbd_mirror/PoolReplayer.h | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/tools/rbd_mirror/PoolReplayer.h b/src/tools/rbd_mirror/PoolReplayer.h index c9967700d9d1..f17bd9eb878c 100644 --- a/src/tools/rbd_mirror/PoolReplayer.h +++ b/src/tools/rbd_mirror/PoolReplayer.h @@ -65,6 +65,39 @@ public: void release_leader(); private: + /** + * @verbatim + * + * + * | + * v + * INIT + * | + * v + * <-------------------------\ + * . | + * . | + * v (leader acquired) | + * INIT_LOCAL_POOL_WATCHER WAIT_FOR_NOTIFICATIONS + * | ^ + * v | + * INIT_REMOTE_POOL_WATCHER SHUT_DOWN_POOL_WATCHERS + * | ^ + * v | + * INIT_IMAGE_DELETER SHUT_DOWN_IMAGE_DELETER + * | ^ + * v . + * <-----------\ . + * . | . + * . (image update) | . + * . . > NOTIFY_INSTANCE_WATCHER . + * . . + * . (leader lost / shut down) . + * . . . . . . . . . . . . . . . . . . + * + * @endverbatim + */ + struct PoolWatcherListener : public PoolWatcher<>::Listener { PoolReplayer *pool_replayer; bool local; -- 2.47.3