]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: support writing with version assertion on object dispatch 36422/head
authorOr Ozeri <oro@il.ibm.com>
Wed, 22 Jul 2020 06:14:19 +0000 (09:14 +0300)
committerOr Ozeri <oro@il.ibm.com>
Sun, 9 Aug 2020 09:39:18 +0000 (12:39 +0300)
commit96bd4634a5bc79b5e5c65b5ea5af111e49c09e5c
tree37e9d4d43d5a74607ba687f1f5c1a122bdfdd61e
parent2ccd47711b73b09069e6964730532fc3cf6e7382
librbd: support writing with version assertion on object dispatch

This commit extends the object dispatch write function to support RADOS object version assertion.
In addition, we add a write flag which allows to assert that an object exists before writing.

Signed-off-by: Or Ozeri <oro@il.ibm.com>
29 files changed:
src/librbd/cache/ObjectCacherObjectDispatch.cc
src/librbd/cache/ObjectCacherObjectDispatch.h
src/librbd/cache/ObjectCacherWriteback.cc
src/librbd/cache/ParentCacheObjectDispatch.h
src/librbd/cache/WriteAroundObjectDispatch.cc
src/librbd/cache/WriteAroundObjectDispatch.h
src/librbd/crypto/CryptoObjectDispatch.cc
src/librbd/crypto/CryptoObjectDispatch.h
src/librbd/io/ImageRequest.cc
src/librbd/io/ObjectDispatch.cc
src/librbd/io/ObjectDispatch.h
src/librbd/io/ObjectDispatchInterface.h
src/librbd/io/ObjectDispatchSpec.h
src/librbd/io/ObjectDispatcher.cc
src/librbd/io/ObjectRequest.cc
src/librbd/io/ObjectRequest.h
src/librbd/io/SimpleSchedulerObjectDispatch.cc
src/librbd/io/SimpleSchedulerObjectDispatch.h
src/librbd/io/Types.h
src/librbd/journal/ObjectDispatch.cc
src/librbd/journal/ObjectDispatch.h
src/librbd/operation/FlattenRequest.cc
src/librbd/operation/MigrateRequest.cc
src/test/librbd/cache/test_mock_ParentCacheObjectDispatch.cc
src/test/librbd/cache/test_mock_WriteAroundObjectDispatch.cc
src/test/librbd/crypto/test_mock_CryptoObjectDispatch.cc
src/test/librbd/io/test_mock_ObjectRequest.cc
src/test/librbd/io/test_mock_SimpleSchedulerObjectDispatch.cc
src/test/librbd/mock/io/MockObjectDispatch.h