int StRadosCreatePool::
run()
{
+ int ret_val = 0;
rados_t cl;
RETURN1_IF_NONZERO(rados_create(&cl, NULL));
rados_conf_parse_argv(cl, m_argc, m_argv);
int ret = rados_write(io_ctx, oid, buf.c_str(), buf.size(), 0);
if (ret != 0) {
printf("%s: rados_write error %d\n", get_id_str(), ret);
- return ret;
+ ret_val = ret;
+ goto out;
}
if (((i % 25) == 0) || (i == m_num_objects - 1)) {
printf("%s: created object %d...\n", get_id_str(), i);
}
}
+
+out:
printf("%s: finishing.\n", get_id_str());
if (m_pool_setup_sem)
m_pool_setup_sem->post();
m_close_create_pool->wait();
rados_ioctx_destroy(io_ctx);
rados_shutdown(cl);
- return 0;
+ return ret_val;
}