This branch is a copy of Neil's RADOS VOL connector branch. Very few changes have been made to the branch so it stays as a 'known good' version of the connector. This is based off the ancient 'vol' branch and is wildy out of sync with develop. You will not be able to move the RADOS VOL connector built here to HDF5 1.12.0 without a lot of surgery. The rados_vol branch in this repository is kept in sync with develop and is probably the one you want for that. Note that this is a dead branch, so no effort has been made to keep the MANIFEST sane, etc. ************ * BUILDING * ************ RADOS: The code for the RADOS VOL connector lies entirely in the H5VLrados* files in the src directory. The connector is built as a static part of the library. I build this branch on Ubuntu, with the system default librados-dev package and its dependencies installed. I use the autotools and the only thing I have to specify is the linker flags: LDFLAGS="-L/path/to/librados -lrados" YMMV, but the autotools do no librados hunting so you may need to specify things it can't figure out on its own. MOBJECT: You'll need to be able to find the headers and libs for mobject-store. You do not need the RADOS libraries. On jelly (THG), this will work: export SPACK_ROOT=/mnt/hdf/jsoumagne/spack source $SPACK_ROOT/share/spack/setup-env.sh module load GCC source <(spack module tcl loads --dependencies mobject) You will also need to define HDF5_USE_MOBJECT in CPPFLAGS. This switches between the RADOS and mobject headers. *********** * TESTING * *********** There are no tests for the RADOS VOL connector in the main library, so running 'make check' won't provide much information. RADOS: Once the library has been built, you can run some smoke checks by running 'make install' and going to the share/hdf5_examples/c/ directory and running the run_rados_examples.sh script found there. That will create a small pool (or clear it out if it exists) and run all the example scripts in a sane order. *** YOU WILL NEED TO COPY YOUR ceph.conf FILE *** INTO THIS DIRECTORY FIRST!!! In case it's not obvious, you'll need an active Ceph cluster to run the tests :) MOBJECT: Same as above, only the script's name is run_mobject_examples.sh. You can probably ignore any sdskv_put warnings as long as the examples pass. The tests are hard-coded to use /tmp/mobject-clust-test.gid and this can be changed in h5rados_example.h. So to start mobject-server: mobject-server-daemon na+sm /tmp/mobject-cluster-test.gid