Bug #15535
closed
Missing export for rados_aio_get_version in src/include/rados/librados.h
Added by Jim Wright about 8 years ago.
Updated almost 8 years ago.
Description
Hi,
The function rados_aio_get_version is correctly defined and implemented in src/librados/librados.cc. However without a corresponding declaration in librados.h specifying it has scope CEPH_RADOS_API, the function ends up having no external visibility in librados.so; and so is uncallable by library users.
This diff fixes the issue, however I'm unsure if the doxygen comments are correct as I just copied them from rados_aio_get_return_value.
diff --git a/src/include/rados/librados.h b/src/include/rados/librados.h
index 3aebf20..9048ad7 100644
--- a/src/include/rados/librados.h
+++ b/src/include/rados/librados.h
@@ -1706,6 +1706,22 @@ CEPH_RADOS_API int rados_aio_is_safe_and_cb(rados_completion_t c);
CEPH_RADOS_API int rados_aio_get_return_value(rados_completion_t c);
/**
+ * Get the version of an asychronous operation's object
+ *
+ * The return value is set when the operation is complete or safe,
+ * whichever comes first.
+ *
+ * @pre The operation is safe or complete
+ *
+ * @note BUG: complete callback may never be called when the safe
+ * message is received before the complete message
+ *
+ * @param c async operation to inspect
+ * @returns version number of the operation's object
+ */
+CEPH_RADOS_API uint64_t rados_aio_get_version(rados_completion_t c);
+
+/**
* Release a completion
*
* Call this when you no longer need the completion. It may not be
- Status changed from New to Pending Backport
- Backport set to jewel
- Copied to Backport #16153: jewel: Missing export for rados_aio_get_version in src/include/rados/librados.h added
- Status changed from Pending Backport to Resolved
Also available in: Atom
PDF