int aio_read(image_t image, off_t off, size_t len, ceph::bufferlist& bl, AioCompletion *c);
/* lower level access */
+ librados::Rados& get_rados();
void get_rados_pools(pool_t pool, librados::pool_t *md_pool, librados::pool_t *data_pool);
};
c->set_complete_cb(cb_arg, cb_complete);
return c;
}
+ librados::Rados& get_rados() { return rados; }
};
c->release();
}
+librados::Rados& librbd::RBD::get_rados()
+{
+ return client->get_rados();
+}
+
} // namespace librbd
extern "C" void librbd_version(int *major, int *minor, int *extra)
md_oid = imgname;
md_oid += RBD_SUFFIX;
- librados::Rados rados;
- rados.initialize(0, NULL);
+ librados::Rados& rados = rbd.get_rados();
int r = rados.watch(md_pool, md_oid, 0, &cookie, &ctx);
if (r < 0) {
cerr << "watch failed" << std::endl;
cout << "press enter to exit..." << std::endl;
getchar();
- rados.shutdown();
-
return 0;
}