]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/: introduce PGTransaction
authorSamuel Just <sjust@redhat.com>
Wed, 10 Aug 2016 22:45:32 +0000 (15:45 -0700)
committerSamuel Just <sjust@redhat.com>
Thu, 17 Nov 2016 18:40:17 +0000 (10:40 -0800)
commit20204b642a8ef138c9f7a1cd6a43c1a2bddee14f
treed944729449d55b1651ae8a8d055752e84c871b09
parent6ae520da55bd2d60513557f0f64e22177827c1f1
osd/: introduce PGTransaction

ECBackend is going to need a transaction representation which reduces
the operational representation from the OSDOp to a descriptive one
which makes questions like "what is the largest offest written" and
"does this transaction delete the object?" simple to answer.  At the
same time, we're going to eliminate the PGBackend::PGTransaction
interface since I don't think writing directly to an
ObjectStore::Transaction is buying us enough to offset the irritation
of having to update both implemenations.

A happy consequence of this design will be that we can fill in the
pg_log_entry_t::mod_desc member after submission in the backend
rather than inline in do_osd_ops.  We can also dispense with having
to maintain OpContext::pending_attrs separately from the ongoing
PGTransaction.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PGTransaction.h [new file with mode: 0644]
src/test/osd/CMakeLists.txt
src/test/osd/test_pg_transaction.cc [new file with mode: 0644]