diff options
author | John Spray <john.spray@redhat.com> | 2016-11-23 00:11:43 +0100 |
---|---|---|
committer | John Spray <john.spray@redhat.com> | 2016-11-23 00:14:14 +0100 |
commit | 3ae9bd840d3df0475af37baadc400b6d86c5e2b6 (patch) | |
tree | 636b308bb90e0819e8937357257f2735c8d021b2 /src/doc | |
parent | src/doc: fix class names in exports.txt (diff) | |
download | ceph-3ae9bd840d3df0475af37baadc400b6d86c5e2b6.tar.xz ceph-3ae9bd840d3df0475af37baadc400b6d86c5e2b6.zip |
src/doc: remove anchortable.txt
The anchor table is long gone.
Signed-off-by: John Spray <john.spray@redhat.com>
Diffstat (limited to 'src/doc')
-rw-r--r-- | src/doc/anchortable.txt | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/doc/anchortable.txt b/src/doc/anchortable.txt deleted file mode 100644 index d9c0fefc31e..00000000000 --- a/src/doc/anchortable.txt +++ /dev/null @@ -1,54 +0,0 @@ - -ANCHOR TABLE PROTOCOL - -MDS sends an update PREPARE to the anchortable MDS. The prepare is -identified by the ino and operation type; only one for each type -(create, update, destroy) can be pending at any time. Both parties -may actually be the same local node, but for simplicity we treat that -situation the same. (That is, we act as if they may fail -independently, even if they can't.) - -The anchortable journals the proposed update, and responds with an -AGREE and a version number. This uniquely identifies the request. - -The MDS can then update the filesystem metadata however it sees fit. -When it is finished (and the results journaled), it sends a COMMIT to -the anchortable. The table journals the commit, frees any state from -the transaction, and sends an ACK. The initiating MDS should then -journal the ACK to complete the transaction. - - -ANCHOR TABLE FAILURE - -If the AT fails before journaling the PREPARE and sending the AGREE, -the initiating MDS will simply retry the request. - -If the AT fails after journaling PREPARE but before journaling COMMIT, -it will resend AGREE to the initiating MDS. - -If the AT fails after the COMMIT, the transaction has been closed, and it -takes no action. If it receives a COMMIT for which it has no open -transaction, it will reply with ACK. - - -INITIATING MDS FAILURE - -If the MDS fails before the metadata update has been journaled, no -action is taken, since nothing is known about the previously proposed -transaction. If an AGREE message is received and there is no -corresponding PREPARE or pending-commit state, and ROLLBACK is sent to -the anchor table. - -If the MDS fails after journaling the metadata update but before -journaling the ACK, it resends COMMIT to the anchor table. If it -receives an AGREE after resending the COMMIT, it simply ignores the -AGREE. The anchortable will respond with an ACK, allowing the -initiating MDS to journal the final ACK and close out the transaction -locally. - -On journal replay, each metadata update (EMetaBlob) encountered that -includes an anchor transaction is noted in the AnchorClient by adding -it to the pending_commit list, and each journaled ACK is removed from -that list. Journal replay may enounter ACKs with no prior metadata -update; these are ignored. When recovery finishes, a COMMIT is sent -for all outstanding transactions. |