]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
cls/queue: add 2-phase-commit queue implementation
authorYuval Lifshitz <yuvalif@yahoo.com>
Mon, 17 Feb 2020 16:45:15 +0000 (18:45 +0200)
committerYuval Lifshitz <yuvalif@yahoo.com>
Wed, 11 Mar 2020 20:28:52 +0000 (22:28 +0200)
commit4fba777a1d15bfd6d5b40c4820f3ec997695dedb
tree9ed98116db4643f0fbfdb94dbb22e02fd3fe108b
parent3bc9e0dbb2ea1beaa0c8bed287ab60a668e4ac7e
cls/queue: add 2-phase-commit queue implementation

2-phase commit (2pc) queue is based on the existing cls_queue
together with the abilities to:
* make a reservation of entries on the queue
* commit entries based on a reservation
* abort a reservation and release it
* get a list of all pending reservations (so they could be cleaned)

Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
14 files changed:
src/cls/2pc_queue/cls_2pc_queue.cc [new file with mode: 0644]
src/cls/2pc_queue/cls_2pc_queue_client.cc [new file with mode: 0644]
src/cls/2pc_queue/cls_2pc_queue_client.h [new file with mode: 0644]
src/cls/2pc_queue/cls_2pc_queue_const.h [new file with mode: 0644]
src/cls/2pc_queue/cls_2pc_queue_ops.h [new file with mode: 0644]
src/cls/2pc_queue/cls_2pc_queue_types.h [new file with mode: 0644]
src/cls/CMakeLists.txt
src/cls/queue/cls_queue_src.cc
src/cls/queue/cls_queue_src.h
src/cls/queue/cls_queue_types.h
src/osd/CMakeLists.txt
src/test/CMakeLists.txt
src/test/cls_2pc_queue/CMakeLists.txt [new file with mode: 0644]
src/test/cls_2pc_queue/test_cls_2pc_queue.cc [new file with mode: 0644]