Closed joergsteinkamp closed 4 years ago
I introduced a new bug in the pull request! for irados_read_plugin '_buf' must of course not be 'const'
diff --git a/irados/libirados.cpp b/irados/libirados.cpp
index 1c5d66f..a1dac08 100644
--- a/irados/libirados.cpp
+++ b/irados/libirados.cpp
@@ -566,7 +566,7 @@ int get_next_fd() {
// interface for POSIX Read
irods::error irados_read_plugin(
irods::plugin_context& _ctx,
- const void* _buf,
+ void* _buf,
const int _len) {
irods::error result = SUCCESS();
@@ -1385,8 +1385,8 @@ irods::resource* plugin_factory(const std::string& _inst_name,
// plugin loading.
resc->add_operation(irods::RESOURCE_OP_CREATE, &irados_create_plugin);
resc->add_operation(irods::RESOURCE_OP_OPEN, &irados_open_plugin);
- resc->add_operation<const void*,int>(irods::RESOURCE_OP_READ, std::function<irods::error(irods::plugin_context&,const void*,int)>(irados_read_plugin));
- resc->add_operation<const void*,int>(irods::RESOURCE_OP_WRITE, std::function<irods::error(irods::plugin_context&,const void*,int)>(irados_write_plugin));
+ resc->add_operation<void*, int>(irods::RESOURCE_OP_READ, std::function<irods::error(irods::plugin_context&, void*, int)>(irados_read_plugin));
+ resc->add_operation<const void*, int>(irods::RESOURCE_OP_WRITE, std::function<irods::error(irods::plugin_context&,const void*, int)>(irados_write_plugin));
resc->add_operation(irods::RESOURCE_OP_CLOSE, &irados_close_plugin);
resc->add_operation(irods::RESOURCE_OP_UNLINK, &irados_unlink_plugin);
resc->add_operation<struct stat*>(irods::RESOURCE_OP_STAT, std::function<irods::error(irods::plugin_context&, struct stat*)>(irados_stat_plugin));
ah, very good. just force push to your gcc
branch, and this PR will update itself
Please squash these two into one - and I'll merge them in.
That way we'll have a clean commit - and your name will remain on the work.
Thanks!
@joergsteinkamp please squash and force-push, we're coming around soon to a release. thanks!
This plugin will probably be archived - the way to talk to rados has shifted to be via CephFS or the S3 protocol.
Caused an boost::any_cast runtime error, since no matching function was found, when compiled with GCC. See https://github.com/irods/irods/issues/4083 for a detailed description. Clang compatibility should be checked first.