]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
common/RefCountedObj: cleanup con/des
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 6 Feb 2019 22:48:57 +0000 (14:48 -0800)
committerKefu Chai <tchaikov@gmail.com>
Mon, 16 Sep 2019 11:53:58 +0000 (19:53 +0800)
commit517bdca529db390e7ebc4e596570f80522060485
tree3d7c2376b36f61ea8e85e97f6de515ccf6d6d4a1
parent487d344233205300e1ef3d9f484ceef94c4657fd
common/RefCountedObj: cleanup con/des

Also, don't allow children to set nref (to 0). This is the more significant
change as it required fixing various code to not do this:

    <reftype> ptr = new RefCountedObjectFoo(..., 0);

as a way to create a starting reference with nref==1. This is a pretty
bad code smell so I've converted all the code doing this to use the new
factory method which produces the reference safely:

    auto ptr = ceph::make_ref<RefCountedObjectFoo>(...);

libradosstriper was particularly egregious in its abuse of setting the starting
nref. :(

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
71 files changed:
src/common/RefCountedObj.h
src/journal/Future.cc
src/journal/Future.h
src/journal/FutureImpl.cc
src/journal/FutureImpl.h
src/journal/JournalMetadata.cc
src/journal/JournalMetadata.h
src/journal/JournalPlayer.cc
src/journal/JournalPlayer.h
src/journal/JournalRecorder.cc
src/journal/JournalRecorder.h
src/journal/JournalTrimmer.cc
src/journal/JournalTrimmer.h
src/journal/Journaler.cc
src/journal/Journaler.h
src/journal/ObjectPlayer.cc
src/journal/ObjectPlayer.h
src/journal/ObjectRecorder.cc
src/journal/ObjectRecorder.h
src/journal/ReplayHandler.h
src/libradosstriper/RadosStriperImpl.cc
src/librbd/DeepCopyRequest.cc
src/librbd/Journal.h
src/librbd/deep_copy/ImageCopyRequest.cc
src/librbd/deep_copy/SnapshotCopyRequest.cc
src/mgr/DaemonServer.cc
src/mgr/DaemonState.h
src/mgr/MgrSession.h
src/mon/Monitor.cc
src/msg/Connection.h
src/msg/async/AsyncConnection.cc
src/msg/async/AsyncConnection.h
src/msg/async/AsyncMessenger.cc
src/os/ObjectStore.h
src/os/bluestore/BlueFS.cc
src/os/bluestore/BlueFS.h
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h
src/os/filestore/FileStore.cc
src/os/filestore/FileStore.h
src/os/kstore/KStore.cc
src/os/kstore/KStore.h
src/os/memstore/MemStore.cc
src/os/memstore/MemStore.h
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.cc
src/osd/PG.h
src/osd/PeeringState.h
src/osd/PrimaryLogPG.cc
src/osd/ReplicatedBackend.cc
src/osd/ReplicatedBackend.h
src/osd/Session.cc
src/osd/Session.h
src/test/direct_messenger/DirectMessenger.cc
src/test/journal/RadosTestFixture.cc
src/test/journal/RadosTestFixture.h
src/test/journal/test_FutureImpl.cc
src/test/journal/test_JournalMetadata.cc
src/test/journal/test_JournalPlayer.cc
src/test/journal/test_JournalRecorder.cc
src/test/journal/test_JournalTrimmer.cc
src/test/journal/test_ObjectPlayer.cc
src/test/journal/test_ObjectRecorder.cc
src/test/librbd/fsx.cc
src/test/librbd/journal/test_Entries.cc
src/test/mds/TestSessionFilter.cc
src/test/objectstore/test_bluestore_types.cc
src/tools/rbd/action/Journal.cc
src/tools/rbd_mirror/BaseRequest.h
src/tools/rbd_mirror/ImageReplayer.cc