]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
journal/ObjectRecorder: Define `intrusive_ptr` functions in header 67081/head
authorAdam C. Emerson <aemerson@redhat.com>
Thu, 22 Jan 2026 06:41:24 +0000 (01:41 -0500)
committerAdam C. Emerson <aemerson@redhat.com>
Tue, 27 Jan 2026 16:58:47 +0000 (11:58 -0500)
Since clang21 is a lot more strict about what phase things need to be
available in, declare `intrusive_ptr<ObjectRecorder>` free functions
before use and define after `class ObjectRecorder` so they'll be
available in `FlushHandler`.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
src/journal/ObjectRecorder.h

index 3c84f919a0ad91d991b086162401154703159ad5..98031a0ca64774dbcd371f012287e75247bed1c2 100644 (file)
@@ -21,6 +21,8 @@
 namespace journal {
 
 class ObjectRecorder;
+void intrusive_ptr_add_ref(ObjectRecorder*);
+void intrusive_ptr_release(ObjectRecorder*);
 
 typedef std::pair<ceph::ref_t<FutureImpl>, bufferlist> AppendBuffer;
 typedef std::list<AppendBuffer> AppendBuffers;
@@ -155,6 +157,16 @@ private:
                              bool notify_overflowed);
 };
 
+inline void intrusive_ptr_add_ref(ObjectRecorder* o)
+{
+  o->get();
+}
+
+inline void intrusive_ptr_release(ObjectRecorder* o)
+{
+  o->put();
+}
+
 } // namespace journal
 
 #endif // CEPH_JOURNAL_OBJECT_RECORDER_H