]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: object map updates should use AIO 2700/head
authorJason Dillaman <dillaman@redhat.com>
Tue, 27 Jan 2015 11:07:13 +0000 (06:07 -0500)
committerJason Dillaman <dillaman@redhat.com>
Thu, 29 Jan 2015 02:12:53 +0000 (21:12 -0500)
commita871651857afc11da440a5f5ffcce53bc4b050a3
tree50e15e8f9f263735c3359cb707f3b62a542f5ecd
parent4328069e9ba4ef6e567f23e7022998708c089341
librbd: object map updates should use AIO

Update the existing AbstractWrite state machine to handle
updating the object map before and after the object update.
Also convert the resize/trim maintenance operations to use
new state machines which handle the pre-/post-operation
updates to the object map.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
26 files changed:
src/cls/rbd/cls_rbd_client.cc
src/cls/rbd/cls_rbd_client.h
src/include/Context.h
src/librbd/AioRequest.cc
src/librbd/AioRequest.h
src/librbd/AsyncFlattenRequest.cc [new file with mode: 0644]
src/librbd/AsyncFlattenRequest.h [new file with mode: 0644]
src/librbd/AsyncObjectThrottle.cc
src/librbd/AsyncObjectThrottle.h
src/librbd/AsyncRequest.cc [new file with mode: 0644]
src/librbd/AsyncRequest.h [new file with mode: 0644]
src/librbd/AsyncResizeRequest.cc [new file with mode: 0644]
src/librbd/AsyncResizeRequest.h [new file with mode: 0644]
src/librbd/AsyncTrimRequest.cc [new file with mode: 0644]
src/librbd/AsyncTrimRequest.h [new file with mode: 0644]
src/librbd/CopyupRequest.cc
src/librbd/CopyupRequest.h
src/librbd/ImageCtx.cc
src/librbd/ImageCtx.h
src/librbd/Makefile.am
src/librbd/ObjectMap.cc
src/librbd/ObjectMap.h
src/librbd/internal.cc
src/librbd/internal.h
src/osdc/ObjectCacher.h
src/test/cls_rbd/test_cls_rbd.cc