]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
common/TrackedOp: use explicit ref count, intrusive_ptr
authorSage Weil <sage@redhat.com>
Thu, 15 Dec 2016 14:38:02 +0000 (09:38 -0500)
committerSage Weil <sage@redhat.com>
Fri, 27 Jan 2017 15:30:43 +0000 (10:30 -0500)
commit04fed4af909b685ccfe23bd92e052ed28021261b
treef01e0d98993ffd5ea07882faae721044f7aa3fb9
parent888f4b3343ef5a5c31e6cebc12fcd5f8f96a9ea7
common/TrackedOp: use explicit ref count, intrusive_ptr

This is more efficient and more explicit than shared_ptr.  It will also
allow us to put these in intrusive lists.

Note that before we used the shared_ptr OnDelete property only for the
live ops and left it off for the history.  Here we rename is_tracked to
state and explicit note whether we are untracked, live, or history.

Also, now that we #include OpRequest in osd_types.h, we have to include
the .cc file (and ~OpRequest definition) in libcommon to avoid a link
error on all the unit tests etc.

Signed-off-by: Sage Weil <sage@redhat.com>
14 files changed:
src/CMakeLists.txt
src/common/TrackedOp.cc
src/common/TrackedOp.h
src/mds/CInode.h
src/mds/Locker.h
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/Migrator.cc
src/mds/Mutation.h
src/mds/Server.h
src/mds/SimpleLock.h
src/mon/MonOpRequest.h
src/osd/CMakeLists.txt
src/osd/OpRequest.h