From: John Spray Date: Tue, 22 Nov 2016 23:11:43 +0000 (+0000) Subject: src/doc: remove anchortable.txt X-Git-Tag: v11.1.0~175^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=3ae9bd840d3df0475af37baadc400b6d86c5e2b6;p=ceph.git src/doc: remove anchortable.txt The anchor table is long gone. Signed-off-by: John Spray --- diff --git a/src/doc/anchortable.txt b/src/doc/anchortable.txt deleted file mode 100644 index d9c0fefc31e08..0000000000000 --- 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.