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>
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;
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