diff options
author | Sage Weil <sage@inktank.com> | 2013-02-26 17:45:23 -0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-02-26 17:45:33 -0800 |
commit | 75ce88fb69096b79053f0e22c3524a9f30870369 (patch) | |
tree | d747576f30f481e5f6d9accf9b102594ab395ed0 | |
parent | c313423cfda55a2231e000cd5ff20729310867f8 (diff) | |
download | ceph-75ce88fb69096b79053f0e22c3524a9f30870369.tar.gz |
doc: fix rst for watch/notify internals
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | doc/dev/osd_internals/watch_notify.rst | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/doc/dev/osd_internals/watch_notify.rst b/doc/dev/osd_internals/watch_notify.rst index e5f48b78a68..24e9a4b9c38 100644 --- a/doc/dev/osd_internals/watch_notify.rst +++ b/doc/dev/osd_internals/watch_notify.rst @@ -28,8 +28,10 @@ Watches in order to be able to notify them upon ms_handle_reset() Each Watch object tracks the set of currently un-acked notifies. start_notify() on a Watch object adds a reference to a new in-progress Notify to the Watch and either: - * if the Watch is *connected*, sends a Notify message to the client - * if the Watch is *unconnected*, does nothing. + +* if the Watch is *connected*, sends a Notify message to the client +* if the Watch is *unconnected*, does nothing. + When the Watch becomes connected (in ReplicatedPG::do_osd_op_effects), Notifies are resent to all remaining tracked Notify objects. @@ -41,11 +43,12 @@ is sent to the client. Watch Lifecycle --------------- A watch may be in one of 5 states: - 1. Non existent. - 2. On disk, but not registered with an object context. - 3. Connected - 4. Disconnected, callback registered with timer - 5. Disconnected, callback in queue for scrub or is_degraded + +1. Non existent. +2. On disk, but not registered with an object context. +3. Connected +4. Disconnected, callback registered with timer +5. Disconnected, callback in queue for scrub or is_degraded Case 2 occurs between when an OSD goes active and the ObjectContext for an object with watchers is loaded into memory due to an access. |