diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 0000000..dd017dd --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,12 @@ +name: lint commit messages +on: [push] + +jobs: + commitlint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: wagoid/commitlint-github-action@v5 + \ No newline at end of file diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml new file mode 100644 index 0000000..7f860b5 --- /dev/null +++ b/.github/workflows/develop.yml @@ -0,0 +1,81 @@ +name: spack mobject@develop+bedrock + +on: + push: + branches: [ master ] + paths-ignore: + - 'doc/**' + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Install APT Dependencies + run: | + sudo apt update + sudo apt-get install -y gfortran-12 + sudo apt-get install -y autoconf + sudo apt-get install -y automake + sudo apt-get install -y cmake + sudo apt-get install -y libtool + sudo apt-get install -y libtool-bin + sudo apt-get install -y mpich + sudo apt-get install -y zlib1g-dev + sudo apt-get install -y diffutils + sudo apt-get install -y libdb-dev + sudo apt-get install -y libedit-dev + sudo apt-get install -y libncurses6 + sudo apt-get install -y libxml2-dev + sudo apt-get install -y openssl + sudo apt-get install -y libboost-dev + - name: Get Sources + uses: actions/checkout@v3 + with: + path: ./src + - name: Checkout Spack + uses: actions/checkout@v3 + with: + repository: spack/spack + path: ./spack + - name: Checkout mochi-spack-packages + uses: actions/checkout@v3 + with: + repository: mochi-hpc/mochi-spack-packages + path: ./mochi-spack-packages + - name: Test with CMake + run: | + . ./spack/share/spack/setup-env.sh + spack compiler find + spack external find autoconf + spack external find automake + spack external find berkeley-db + spack external find boost + spack external find cmake + spack external find diffutils + spack external find libedit + spack external find libtool + spack external find libiconv + spack external find libxml2 + spack external find m4 + spack external find mpich + spack external find ncurses + spack external find openssl + spack external find perl + spack external find pkgconf + spack external find zlib + spack external find xz + spack install mpi + spack load mpi + spack repo add ./mochi-spack-packages + spack install mobject@develop+bedrock + spack load mobject + spack install hdf5@develop-1.15 + spack load hdf5 + mkdir src/build + cd src/build + cmake -D BUILD_TESTING=ON -D BUILD_EXAMPLES=ON .. + make + make test diff --git a/.github/workflows/ior.yml b/.github/workflows/ior.yml new file mode 100644 index 0000000..987ddf3 --- /dev/null +++ b/.github/workflows/ior.yml @@ -0,0 +1,95 @@ +name: ior pmem_backend + +on: + push: + branches: [ master ] + paths-ignore: + - 'doc/**' + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Install APT Dependencies + run: | + sudo apt update + sudo apt-get install -y autoconf + sudo apt-get install -y automake + sudo apt-get install -y cmake + sudo apt-get install -y libtool + sudo apt-get install -y libtool-bin + sudo apt-get install -y mpich + sudo apt-get install -y zlib1g-dev + sudo apt-get install -y diffutils + sudo apt-get install -y libdb-dev + sudo apt-get install -y libedit-dev + sudo apt-get install -y libncurses6 + sudo apt-get install -y libxml2-dev + sudo apt-get install -y mpich + sudo apt-get install -y openssl + sudo apt-get install -y libboost-dev + - name: Get Sources + uses: actions/checkout@v3 + with: + path: ./src + - name: Checkout IOR + uses: actions/checkout@v3 + with: + repository: hpc/ior + path: ./ior + - name: Checkout Spack + uses: actions/checkout@v3 + with: + repository: spack/spack + path: ./spack + - name: Checkout mochi-spack-packages + uses: actions/checkout@v3 + with: + repository: mochi-hpc/mochi-spack-packages + path: ./mochi-spack-packages + - name: Test IOR + run: | + . ./spack/share/spack/setup-env.sh + spack compiler find + spack external find autoconf + spack external find automake + spack external find berkeley-db + spack external find boost + spack external find cmake + spack external find diffutils + spack external find libedit + spack external find libtool + spack external find libiconv + spack external find libxml2 + spack external find m4 + spack external find mpich + spack external find ncurses + spack external find openssl + spack external find perl + spack external find pkgconf + spack external find zlib + spack external find xz + spack repo add ./mochi-spack-packages + spack install mobject@develop+bedrock + spack install hdf5@develop + spack load mobject + spack load hdf5 + spack view --verbose symlink $HOME/install mobject@develop+bedrock -i + spack view --verbose symlink $HOME/install hdf5@develop -i + mkdir src/build + cd src/build + cmake -DCMAKE_INSTALL_PREFIX=$HOME/install .. + make install + cd ../../ior + ls /home/runner/install/include + ./bootstrap + ./configure --prefix=$HOME/install --with-hdf5 CFLAGS="-I /home/runner/install/include" LDFLAGS="-L /home/runner/install/lib" + make + make install + ls $HOME/install/bin + cd ../src + ls + sudo ./ci.sh diff --git a/.github/workflows/ior2.yml b/.github/workflows/ior2.yml new file mode 100644 index 0000000..8e84a51 --- /dev/null +++ b/.github/workflows/ior2.yml @@ -0,0 +1,95 @@ +name: ior file_backend + +on: + push: + branches: [ master ] + paths-ignore: + - 'doc/**' + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Install APT Dependencies + run: | + sudo apt update + sudo apt-get install -y autoconf + sudo apt-get install -y automake + sudo apt-get install -y cmake + sudo apt-get install -y libtool + sudo apt-get install -y libtool-bin + sudo apt-get install -y mpich + sudo apt-get install -y zlib1g-dev + sudo apt-get install -y diffutils + sudo apt-get install -y libdb-dev + sudo apt-get install -y libedit-dev + sudo apt-get install -y libncurses6 + sudo apt-get install -y libxml2-dev + sudo apt-get install -y mpich + sudo apt-get install -y openssl + sudo apt-get install -y libboost-dev + - name: Get Sources + uses: actions/checkout@v3 + with: + path: ./src + - name: Checkout IOR + uses: actions/checkout@v3 + with: + repository: hpc/ior + path: ./ior + - name: Checkout Spack + uses: actions/checkout@v3 + with: + repository: spack/spack + path: ./spack + - name: Checkout mochi-spack-packages + uses: actions/checkout@v3 + with: + repository: mochi-hpc/mochi-spack-packages + path: ./mochi-spack-packages + - name: Test IOR + run: | + . ./spack/share/spack/setup-env.sh + spack compiler find + spack external find autoconf + spack external find automake + spack external find berkeley-db + spack external find boost + spack external find cmake + spack external find diffutils + spack external find libedit + spack external find libtool + spack external find libiconv + spack external find libxml2 + spack external find m4 + spack external find mpich + spack external find ncurses + spack external find openssl + spack external find perl + spack external find pkgconf + spack external find zlib + spack external find xz + spack repo add ./mochi-spack-packages + spack install mobject@develop+bedrock + spack install hdf5@develop + spack load mobject + spack load hdf5 + spack view --verbose symlink $HOME/install mobject@develop+bedrock -i + spack view --verbose symlink $HOME/install hdf5@develop -i + mkdir src/build + cd src/build + cmake -DCMAKE_INSTALL_PREFIX=$HOME/install .. + make install + cd ../../ior + ls /home/runner/install/include + ./bootstrap + ./configure --prefix=$HOME/install --with-hdf5 CFLAGS="-I /home/runner/install/include" LDFLAGS="-L /home/runner/install/lib" + make + make install + ls $HOME/install/bin + cd ../src + ls + sudo ./ci2.sh diff --git a/.github/workflows/ior_chogan.yml b/.github/workflows/ior_chogan.yml new file mode 100644 index 0000000..1e04dee --- /dev/null +++ b/.github/workflows/ior_chogan.yml @@ -0,0 +1,96 @@ +name: ior chogan + +on: + push: + branches: [ master ] + paths-ignore: + - 'doc/**' + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Install APT Dependencies + run: | + sudo apt update + sudo apt-get install -y autoconf + sudo apt-get install -y automake + sudo apt-get install -y cmake + sudo apt-get install -y libtool + sudo apt-get install -y libtool-bin + sudo apt-get install -y mpich + sudo apt-get install -y zlib1g-dev + sudo apt-get install -y diffutils + sudo apt-get install -y libdb-dev + sudo apt-get install -y libedit-dev + sudo apt-get install -y libncurses6 + sudo apt-get install -y libxml2-dev + sudo apt-get install -y mpich + sudo apt-get install -y openssl + sudo apt-get install -y libboost-dev + - name: Get Sources + uses: actions/checkout@v3 + with: + path: ./src + - name: Checkout IOR + uses: actions/checkout@v3 + with: + repository: ChristopherHogan/ior + path: ./ior + ref: chogan/hermes + - name: Checkout Spack + uses: actions/checkout@v3 + with: + repository: spack/spack + path: ./spack + - name: Checkout mochi-spack-packages + uses: actions/checkout@v3 + with: + repository: mochi-hpc/mochi-spack-packages + path: ./mochi-spack-packages + - name: Test IOR + run: | + . ./spack/share/spack/setup-env.sh + spack compiler find + spack external find autoconf + spack external find automake + spack external find berkeley-db + spack external find boost + spack external find cmake + spack external find diffutils + spack external find libedit + spack external find libtool + spack external find libiconv + spack external find libxml2 + spack external find m4 + spack external find mpich + spack external find ncurses + spack external find openssl + spack external find perl + spack external find pkgconf + spack external find zlib + spack external find xz + spack repo add ./mochi-spack-packages + spack install mobject@develop+bedrock + spack install hdf5@develop-1.13 + spack load mobject + spack load hdf5 + spack view --verbose symlink $HOME/install mobject@develop+bedrock -i + spack view --verbose symlink $HOME/install hdf5@develop -i + mkdir src/build + cd src/build + cmake -DCMAKE_INSTALL_PREFIX=$HOME/install .. + make install + cd ../../ior + ls /home/runner/install/include + ./bootstrap + ./configure --prefix=$HOME/install --with-hdf5 CFLAGS="-I /home/runner/install/include" LDFLAGS="-L /home/runner/install/lib" + make + make install + ls $HOME/install/bin + cd ../src + ls + sudo ./ci.sh diff --git a/.github/workflows/spell.yml b/.github/workflows/spell.yml new file mode 100644 index 0000000..0709bfd --- /dev/null +++ b/.github/workflows/spell.yml @@ -0,0 +1,11 @@ +name: check spelling +on: [push, pull_request] +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: codespell-project/actions-codespell@master + with: + ignore_words_list: mobject,rados,hdf5,vol diff --git a/README.md b/README.md index ad3dd58..2aae897 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,19 @@ # HDF5 RADOS VOL connector +[![check spelling](https://github.com/hyoklee/vol-rados/actions/workflows/spell.yml/badge.svg)](https://github.com/hyoklee/vol-rados/actions/workflows/spell.yml) +[![lint commit messages](https://github.com/hyoklee/vol-rados/actions/workflows/commitlint.yml/badge.svg)](https://github.com/hyoklee/vol-rados/actions/workflows/commitlint.yml) +[![spack mobject@develop+bedrock](https://github.com/hyoklee/vol-rados/actions/workflows/develop.yml/badge.svg)](https://github.com/hyoklee/vol-rados/actions/workflows/develop.yml) + ## Table of Contents -1. [Description](#1-Description) -2. [Installation](#2-Installation) - * [Prerequisites](#Prerequisites) - * [Build instructions](#Build-instructions) - * [CMake options](#CMake-options) - * [Connector options](#Connector-options) -3. [Testing and Usage](#3-Testing-And-Usage) -4. [More information](#4-More-Information) + +1. [Description](#1-Description) +2. [Installation](#2-Installation) + * [Prerequisites](#Prerequisites) + * [Build instructions](#Build-instructions) + * [CMake options](#CMake-options) + * [Connector options](#Connector-options) +3. [Testing and Usage](#3-Testing-And-Usage) +4. [More information](#4-More-Information) ## 1. Description @@ -28,23 +33,23 @@ be loaded in an HDF5 application at runtime. To build the RADOS VOL connector, the following are required: -+ `libhdf5` - The [HDF5](https://www.hdfgroup.org/downloads/hdf5/) library. - Minimum version required is 1.13.3, compiled with - support for parallel I/O. +* `libhdf5` - The [HDF5](https://www.hdfgroup.org/downloads/hdf5/) library. + Minimum version required is 1.13.3, compiled with + support for parallel I/O. -+ An MPI library implementation +* An MPI library implementation Additional dependencies are required, depending on which type of storage is of interest. If interested in accessing Mobject-based storage (the default mode of operation), the following are required: -+ [Mobject](https://github.com/mochi-hpc/mobject) +* [Mobject](https://github.com/mochi-hpc/mobject) If interested in accessing Ceph-based storage, the following are required: -+ [Ceph](https://docs.ceph.com/en/quincy/start/intro/) +* [Ceph](https://docs.ceph.com/en/quincy/start/intro/) -+ `librados` - The [RADOS API library](https://docs.ceph.com/en/quincy/rados/api/librados-intro/). +* `librados` - The [RADOS API library](https://docs.ceph.com/en/quincy/rados/api/librados-intro/). Compiled libraries must either exist in the system's library paths or must be pointed to during the RADOS VOL connector build process. The simplest way to @@ -111,22 +116,22 @@ depending on the platform and CMake generator used. The following are some CMake options that may be desirable to set when building the RADOS VOL connector: - * `CMAKE_INSTALL_PREFIX` - This option controls the install directory that the resulting output files are written to. The default value is `/usr/local`. - * `CMAKE_BUILD_TYPE` - This option controls the type of build used for the VOL connector. Valid values are Release, Debug, RelWithDebInfo and MinSizeRel; the default build type is RelWithDebInfo. +* `CMAKE_INSTALL_PREFIX` - This option controls the install directory that the resulting output files are written to. The default value is `/usr/local`. +* `CMAKE_BUILD_TYPE` - This option controls the type of build used for the VOL connector. Valid values are Release, Debug, RelWithDebInfo and MinSizeRel; the default build type is RelWithDebInfo. ### Connector options The following connector-specific CMake options are available when building the RADOS VOL connector: - * `HDF5_VOL_RADOS_USE_MOBJECT` - This option specifies whether the VOL connector - should be built with Mobject-based storage support. This is the default mode - for the connector. If this option is disabled, the connector will instead be - built with support for Ceph-based storage via `librados`. - * `BUILD_TESTING` - This option is used to enable/disable building of the - RADOS VOL connector's tests. The default value is `OFF`. - * `BUILD_EXAMPLES` - This option is used to enable/disable building of the - RADOS VOL connector's HDF5 examples. The default value is `OFF`. +* `HDF5_VOL_RADOS_USE_MOBJECT` - This option specifies whether the VOL connector + should be built with Mobject-based storage support. This is the default mode + for the connector. If this option is disabled, the connector will instead be + built with support for Ceph-based storage via `librados`. +* `BUILD_TESTING` - This option is used to enable/disable building of the + RADOS VOL connector's tests. The default value is `OFF`. +* `BUILD_EXAMPLES` - This option is used to enable/disable building of the + RADOS VOL connector's HDF5 examples. The default value is `OFF`. ## 3. Testing and Usage @@ -137,19 +142,19 @@ of these tests is disabled by default, but can be enabled by setting the For information on how to use the RADOS VOL connector with an HDF5 application, including setting up and running a Mobject or Ceph server, please refer to the -RADOS VOL User's Guide under _docs/users_guide.pdf_. +RADOS VOL User's Guide under *docs/users\_guide.pdf*. ## 4. More Information -+ Mochi - + https://mochi.readthedocs.io/en/latest/ +* Mochi + * https://mochi.readthedocs.io/en/latest/ -+ Mobject - + https://github.com/mochi-hpc/mobject +* Mobject + * https://github.com/mochi-hpc/mobject -+ Ceph - + https://docs.ceph.com/en/quincy/start/intro/ +* Ceph + * https://docs.ceph.com/en/quincy/start/intro/ -+ HDF5 - + https://www.hdfgroup.org/solutions/hdf5/ - + https://portal.hdfgroup.org/display/HDF5/Virtual+Object+Layer +* HDF5 + * https://www.hdfgroup.org/solutions/hdf5/ + * https://portal.hdfgroup.org/display/HDF5/Virtual+Object+Layer diff --git a/ci.sh b/ci.sh new file mode 100755 index 0000000..c1a3b77 --- /dev/null +++ b/ci.sh @@ -0,0 +1,43 @@ +#!/bin/sh +# +# Test HDF5 RADOS VOL using GitHub Action. +# +# This script assumes that Action installed all dependencies under /home/runner/install. +# +# Author: Hyokyung Lee (hyoklee@hdfgroup.org) +# Last Update: 2022-11-21 + +echo "Checking PWD" +echo $PWD + +echo "Checking /home/runner/install/bin" +ls /home/runner/install/bin + +export LD_LIBRARY_PATH=/home/runner/install/lib:/home/runner/install/lib64 +echo "Checking LD_LIBRARY_PATH" +echo $LD_LIBRARY_PATH + +export PATH=/home/runner/install/bin:$PATH +echo "Checking PATH" +echo $PATH + +echo "Creating /usr/local/tmp to check root permission" +mkdir /usr/local/tmp + +echo "Running sysctl" +/usr/sbin/sysctl kernel.yama.ptrace_scope=0 + +echo "Testing using ior" +export HDF5_VOL_CONNECTOR=rados +# export HDF5_PLUGIN_PATH=/home/runner/install/bin/ +export HDF5_PLUGIN_PATH=/home/runner/install/lib/ +export MOBJECT_CLUSTER_FILE=/home/runner/mobject.ssg +export HDF5_RADOS_POOL=test_pool + +bake-mkpool -s 50M /dev/shm/mobject.dat +bedrock na+sm -c $PWD/config.json -v trace & +sleep 5 +ior -g -a HDF5 -t 64k -b 128k -E -k + + + diff --git a/ci2.sh b/ci2.sh new file mode 100755 index 0000000..f5e6a65 --- /dev/null +++ b/ci2.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Test HDF5 RADOS VOL using GitHub Action. +# +# This script assumes that Action installed all dependencies under /home/runner/install. +# +# Author: Hyokyung Lee (hyoklee@hdfgroup.org) +# Last Update: 2022-11-21 + +echo "Checking PWD" +echo $PWD + +echo "Checking /home/runner/install/bin" +ls /home/runner/install/bin + +export LD_LIBRARY_PATH=/home/runner/install/lib:/home/runner/install/lib64 +echo "Checking LD_LIBRARY_PATH" +echo $LD_LIBRARY_PATH + +export PATH=/home/runner/install/bin:$PATH +echo "Checking PATH" +echo $PATH + +echo "Creating /usr/local/tmp to check root permission" +mkdir /usr/local/tmp + +echo "Running sysctl" +/usr/sbin/sysctl kernel.yama.ptrace_scope=0 + +echo "Testing using ior" +export HDF5_VOL_CONNECTOR=rados +export HDF5_PLUGIN_PATH=/home/runner/install/lib/ +export MOBJECT_CLUSTER_FILE=/home/runner/mobject.ssg +export HDF5_RADOS_POOL=test_pool + +bake-mkpool -s 50M /tmp/mobject.dat +bedrock na+sm -c $PWD/config2.json -v trace & +sleep 5 +ior -g -a HDF5 -t 64k -b 128k -E -k diff --git a/config.json b/config.json new file mode 100644 index 0000000..195dbff --- /dev/null +++ b/config.json @@ -0,0 +1,90 @@ +{ + "ssg" : [ + { + "name" : "mobject", + "bootstrap" : "init", + "group_file" : "/home/runner/mobject.ssg", + "swim" : { "disabled" : true } + } + ], + "libraries" : { + "yokan" : "libyokan-bedrock-module.so", + "bake" : "libbake-bedrock.so", + "mobject" : "/home/runner/install/lib/libmobject-bedrock.so" + }, + "abt_io" : [ + { + "name" : "bake_abt_io", + "pool" : "__primary__" + } + ], + "providers" : [ + { + "name" : "metadata", + "type" : "yokan", + "provider_id" : 0, + "config" : { + "databases" : [ + { + "name" : "mobject_oid_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_oid_map_compare" + } + }, + { + "name" : "mobject_name_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_name_map_compare" + } + }, + { + "name" : "mobject_seg_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_seg_map_compare" + } + }, + { + "name" : "mobject_omap_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_omap_map_compare" + } + } + ] + } + }, + { + "name" : "storage", + "type" : "bake", + "provider_id" : 0, + "config" : { + "pipeline_enable" : true, + "pipeline_npools" : 4, + "pipeline_nbuffers_per_pool" : 32, + "pipeline_first_buffer_size" : 65536, + "pipeline_multiplier" : 4, + "pmem_backend": { + "targets": [ + "/dev/shm/mobject.dat" + ] + } + }, + "dependencies" : { + "abt_io" : "bake_abt_io" + } + }, + { + "name" : "coordinator", + "type" : "mobject", + "provider_id" : 1, + "config" : {}, + "dependencies" : { + "bake_provider_handle" : "storage@local", + "yokan_provider_handle" : "metadata@local" + } + } + ] +} diff --git a/config2.json b/config2.json new file mode 100644 index 0000000..29c107c --- /dev/null +++ b/config2.json @@ -0,0 +1,90 @@ +{ + "ssg" : [ + { + "name" : "mobject", + "bootstrap" : "init", + "group_file" : "/home/runner/mobject.ssg", + "swim" : { "disabled" : true } + } + ], + "libraries" : { + "yokan" : "libyokan-bedrock-module.so", + "bake" : "libbake-bedrock.so", + "mobject" : "/home/runner/install/lib/libmobject-bedrock.so" + }, + "abt_io" : [ + { + "name" : "bake_abt_io", + "pool" : "__primary__" + } + ], + "providers" : [ + { + "name" : "metadata", + "type" : "yokan", + "provider_id" : 0, + "config" : { + "databases" : [ + { + "name" : "mobject_oid_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_oid_map_compare" + } + }, + { + "name" : "mobject_name_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_name_map_compare" + } + }, + { + "name" : "mobject_seg_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_seg_map_compare" + } + }, + { + "name" : "mobject_omap_map", + "type" : "map", + "config" : { + "comparator" : "/home/runner/install/lib/libmobject-comparators.so:mobject_omap_map_compare" + } + } + ] + } + }, + { + "name" : "storage", + "type" : "bake", + "provider_id" : 0, + "config" : { + "pipeline_enable" : true, + "pipeline_npools" : 4, + "pipeline_nbuffers_per_pool" : 32, + "pipeline_first_buffer_size" : 65536, + "pipeline_multiplier" : 4, + "file_backend": { + "targets": [ + "/tmp/mobject.dat" + ] + } + }, + "dependencies" : { + "abt_io" : "bake_abt_io" + } + }, + { + "name" : "coordinator", + "type" : "mobject", + "provider_id" : 1, + "config" : {}, + "dependencies" : { + "bake_provider_handle" : "storage@local", + "yokan_provider_handle" : "metadata@local" + } + } + ] +} diff --git a/src/H5VLrados.c b/src/H5VLrados.c index beac230..1b4ffe5 100644 --- a/src/H5VLrados.c +++ b/src/H5VLrados.c @@ -3073,7 +3073,7 @@ H5VL_rados_oid_create(const H5VL_rados_file_t *file, uint64_t idx, /* Create binary oid */ H5VL_rados_oid_create_binary(idx, obj_type, &tmp_bin_oid); - /* Create sting oid */ + /* Create string oid */ if(H5VL_rados_oid_create_string(file, tmp_bin_oid, oid) < 0) HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "can't encode string object id");