summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-09-11 12:48:13 (GMT)
committerGitHub <noreply@github.com>2023-09-11 12:48:13 (GMT)
commitfbeddf2c9c6141f4ed6e5638711ce8aa2b58b7c1 (patch)
tree1464673c827bbe822846a2120477999f423ea83d
parentfbb9ad25963c5ca8c2f7827c30e9543df5528778 (diff)
downloadhdf5-fbeddf2c9c6141f4ed6e5638711ce8aa2b58b7c1.zip
hdf5-fbeddf2c9c6141f4ed6e5638711ce8aa2b58b7c1.tar.gz
hdf5-fbeddf2c9c6141f4ed6e5638711ce8aa2b58b7c1.tar.bz2
Add missing row for the ROS3 VFD in table #3415 (#3517)
-rw-r--r--doxygen/examples/tables/fileDriverLists.dox144
-rw-r--r--doxygen/examples/tables/propertyLists.dox13
-rw-r--r--src/H5Fmodule.h2
-rw-r--r--src/H5Fpublic.h2
-rw-r--r--src/H5Ppublic.h97
5 files changed, 120 insertions, 138 deletions
diff --git a/doxygen/examples/tables/fileDriverLists.dox b/doxygen/examples/tables/fileDriverLists.dox
index 125df63..b1f873f 100644
--- a/doxygen/examples/tables/fileDriverLists.dox
+++ b/doxygen/examples/tables/fileDriverLists.dox
@@ -8,32 +8,64 @@
<th>Description</th>
</tr>
<tr>
+<td>#H5FD_SEC2</td>
+<td>Serial I/O to file using Unix “section 2” functions.</td>
+</tr>
+<tr>
<td>#H5FD_CORE</td>
<td>Store in memory (optional backing store to disk file).</td>
</tr>
<tr>
+<td>#H5FD_LOG</td>
+<td>Store in logging file.</td>
+</tr>
+<tr>
<td>#H5FD_FAMILY</td>
<td>Store in a set of files.</td>
</tr>
<tr>
-<td>#H5FD_LOG</td>
-<td>Store in logging file.</td>
+<td>#H5FD_MULTI</td>
+<td>Store in multiple files. There are several options to control layout.</td>
+</tr>
+<tr>
+<td>#H5FD_STDIO</td>
+<td>Serial I/O to file using Unix “stdio” functions.</td>
+</tr>
+<tr>
+<td>#H5FD_SPLITTER</td>
+<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
</tr>
<tr>
<td>#H5FD_MPIO</td>
<td>Store using MPI/IO.</td>
</tr>
<tr>
-<td>#H5FD_MULTI</td>
-<td>Store in multiple files. There are several options to control layout.</td>
+<td>#H5FD_DIRECT</td>
+<td>Forces data writes to the file directly without using the system kernel buffer.</td>
</tr>
<tr>
-<td>#H5FD_SEC2</td>
-<td>Serial I/O to file using Unix “section 2” functions.</td>
+<td>#H5FD_MIRROR</td>
+<td>Serial I/O to file using Unix “stdio” functions.</td>
</tr>
<tr>
-<td>#H5FD_STDIO</td>
-<td>Serial I/O to file using Unix “stdio” functions.</td>
+<td>#H5FD_HDFS</td>
+<td>Read-Only access to Hadoop Distributed File System (HDFS).</td>
+</tr>
+<tr>
+<td>#H5FD_ROS3</td>
+<td>Read-Only access to Amazon's S3 service.</td>
+</tr>
+<tr>
+<td>#H5FD_SUBFILING</td>
+<td>Derived from other "stacked" VFDs such as the splitter, mirror, and family VFDs.</td>
+</tr>
+<tr>
+<td>#H5FD_IOC</td>
+<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
+</tr>
+<tr>
+<td>#H5FD_ONION</td>
+<td>Provide in-file provenance and revision/version control.</td>
</tr>
</table>
//! [file_driver_table]
@@ -57,33 +89,6 @@ the default file driver for all systems.</td>
<td>#H5Pset_fapl_sec2</td>
</tr>
<tr>
-<td>Direct</td>
-<td>#H5FD_DIRECT</td>
-<td>This is the #H5FD_SEC2 driver except data is written to or read from the file
-synchronously without being cached by the system.</td>
-<td>#H5Pset_fapl_direct</td>
-</tr>
-<tr>
-<td>Log</td>
-<td>#H5FD_LOG</td>
-<td>This is the #H5FD_SEC2 driver with logging capabilities.</td>
-<td>#H5Pset_fapl_log</td>
-</tr>
-<tr>
-<td>Windows</td>
-<td>#H5FD_WINDOWS</td>
-<td>This driver was modified in HDF5-1.8.8 to be a wrapper of the POSIX driver,
-#H5FD_SEC2. This change should not affect user applications.</td>
-<td>#H5Pset_fapl_windows</td>
-</tr>
-<tr>
-<td>STDIO</td>
-<td>#H5FD_STDIO</td>
-<td>This driver uses functions from the standard C stdio.h to perform I/O
-to a single, permanent file on local disk with additional system buffering.</td>
-<td>#H5Pset_fapl_stdio</td>
-</tr>
-<tr>
<td>Memory</td>
<td>#H5FD_CORE</td>
<td>With this driver, an application can work with a file in memory for faster reads and
@@ -92,6 +97,12 @@ version of the file can be written back to disk or abandoned.</td>
<td>#H5Pset_fapl_core</td>
</tr>
<tr>
+<td>Log</td>
+<td>#H5FD_LOG</td>
+<td>This is the #H5FD_SEC2 driver with logging capabilities.</td>
+<td>#H5Pset_fapl_log</td>
+</tr>
+<tr>
<td>Family</td>
<td>#H5FD_FAMILY</td>
<td>With this driver, the HDF5 file's address space is partitioned into pieces and sent to
@@ -105,14 +116,21 @@ systems that do not support files larger than 2 gigabytes.</td>
<td>With this driver, data can be stored in multiple files according to the type of the data.
I/O might work better if data is stored in separate files based on the type of data. The Split
driver is a special case of this driver.</td>
-<td>#H5Pset_fapl_multi</td>
+<td>#H5Pset_fapl_multi / #H5Pset_fapl_split</td>
+</tr>
+<tr>
+<td>STDIO</td>
+<td>#H5FD_STDIO</td>
+<td>This driver uses functions from the standard C stdio.h to perform I/O
+to a single, permanent file on local disk with additional system buffering.</td>
+<td>#H5Pset_fapl_stdio</td>
</tr>
<tr>
<td>Split</td>
-<td>H5FD_SPLIT</td>
+<td>#H5FD_SPLITTER</td>
<td>This file driver splits a file into two parts. One part stores metadata, and the other part
stores raw data. This splitting a file into two parts is a limited case of the Multi driver.</td>
-<td>#H5Pset_fapl_split</td>
+<td>#H5Pset_fapl_splitter</td>
</tr>
<tr>
<td>Parallel</td>
@@ -122,6 +140,56 @@ standard for both communication and file I/O.</td>
<td>#H5Pset_fapl_mpio</td>
</tr>
<tr>
+<td>Direct</td>
+<td>#H5FD_DIRECT</td>
+<td>This is the #H5FD_SEC2 driver except data is written to or read from the file
+synchronously without being cached by the system.</td>
+<td>#H5Pset_fapl_direct</td>
+</tr>
+<tr>
+<td>Mirror</td>
+<td>#H5FD_MIRROR</td>
+<td>Serial I/O to file using Unix “stdio” functions.</td>
+<td>#H5Pset_fapl_mirror</td>
+</tr>
+<tr>
+<td>HDFS</td>
+<td>#H5FD_HDFS</td>
+<td>Read-Only access to Hadoop Distributed File System (HDFS).</td>
+<td>#H5Pset_fapl_hdfs</td>
+</tr>
+<tr>
+<td>ros3</td>
+<td>#H5FD_ROS3</td>
+<td>Read-Only access to Amazon's S3 service.</td>
+<td>#H5Pset_fapl_ros3</td>
+</tr>
+<tr>
+<td>Subfiling</td>
+<td>#H5FD_SUBFILING</td>
+<td>Derived from other "stacked" VFDs such as the splitter, mirror, and family VFDs.</td>
+<td>#H5Pset_fapl_subfiling</td>
+</tr>
+<tr>
+<td>IOC</td>
+<td>#H5FD_IOC</td>
+<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
+<td>#H5Pset_fapl_ioc</td>
+</tr>
+<tr>
+<td>Onion</td>
+<td>#H5FD_ONION</td>
+<td>Provide in-file provenance and revision/version control.</td>
+<td>#H5Pset_fapl_onion</td>
+</tr>
+<tr>
+<td>Windows</td>
+<td>#H5FD_WINDOWS</td>
+<td>This driver was modified in HDF5-1.8.8 to be a wrapper of the POSIX driver,
+#H5FD_SEC2. This change should not affect user applications.</td>
+<td>#H5Pset_fapl_windows</td>
+</tr>
+<tr>
<td>Parallel POSIX</td>
<td>H5FD_MPIPOSIX</td>
<td>This driver is no longer available</td>
diff --git a/doxygen/examples/tables/propertyLists.dox b/doxygen/examples/tables/propertyLists.dox
index 01570fa..2f74c03 100644
--- a/doxygen/examples/tables/propertyLists.dox
+++ b/doxygen/examples/tables/propertyLists.dox
@@ -351,7 +351,8 @@ larger than 2 gigabytes, or retrieves information regarding driver.</td>
</tr>
<tr>
<td>#H5Pset_fapl_log</td>
-<td>Sets logging driver.</td>
+<td>The logging driver is a clone of the standard SEC2 (#H5FD_SEC2) driver with additional
+facilities for logging metrics and activity to a file.</td>
</tr>
<tr>
<td>#H5Pset_fapl_mirror/#H5Pget_fapl_mirror</td>
@@ -376,15 +377,23 @@ or retrieves information regarding driver.</td>
<td>Modifies/queries the file driver properties of the onion driver.</td>
</tr>
<tr>
+<td>#H5Pset_fapl_ros3/#H5Pget_fapl_ros3</td>
+<td>Modifies/queries the file driver properties of the ros3 driver.</td>
+</tr>
+<tr>
<td>#H5Pset_fapl_sec2</td>
<td>Sets driver for unbuffered permanent files or retrieves information regarding driver.</td>
</tr>
<tr>
<td>#H5Pset_fapl_split</td>
-<td>Sets driver for split files, a limited case of multiple files with one metadata file
+<td>Sets driver for split files, a limited case of multi driver with one metadata file
and one raw data file.</td>
</tr>
<tr>
+<td>#H5Pset_fapl_splitter/#H5Pget_fapl_splitter</td>
+<td>Modifies/queries the file driver properties of the splitter driver.</td>
+</tr>
+<tr>
<td>#H5Pset_fapl_stdio</td>
<td>Sets driver for buffered permanent files.</td>
</tr>
diff --git a/src/H5Fmodule.h b/src/H5Fmodule.h
index 3e3be07..8a3f8df 100644
--- a/src/H5Fmodule.h
+++ b/src/H5Fmodule.h
@@ -998,7 +998,7 @@
* Additional parameters may be added to these functions in the future.
*
* \subsubsection subsubsec_file_alternate_drivers_split The Split Driver
- * The Split driver, H5FD_SPLIT, is a limited case of the Multi driver where only two files are
+ * The Split driver is a limited case of the Multi driver where only two files are
* created. One file holds metadata, and the other file holds raw data.
* The function #H5Pset_fapl_split is used to manage Split file access properties. See the example
* below.
diff --git a/src/H5Fpublic.h b/src/H5Fpublic.h
index f800b4c..34a92ac 100644
--- a/src/H5Fpublic.h
+++ b/src/H5Fpublic.h
@@ -1730,7 +1730,7 @@ H5_DLL herr_t H5Fset_dset_no_attrs_hint(hid_t file_id, hbool_t minimize);
* pass the same values for \p file_id and \p flag.
*
* This function is available only when the HDF5 library is configured with parallel support
- * (\Code{--enable-parallel}). It is useful only when used with the #H5FD_MPIO driver
+ * (\Code{--enable-parallel | HDF5_ENABLE_PARALLEL}). It is useful only when used with the #H5FD_MPIO driver
* (see H5Pset_fapl_mpio()).
* \endparblock
*
diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h
index 9a455c7..a58d97f 100644
--- a/src/H5Ppublic.h
+++ b/src/H5Ppublic.h
@@ -3354,102 +3354,7 @@ H5_DLL herr_t H5Pget_core_write_tracking(hid_t fapl_id, hbool_t *is_enabled, siz
* Valid driver identifiers distributed with HDF5 are listed and
* described in the following table.
*
- * <table>
- * <tr>
- * <th>Driver Name</th>
- * <th>Driver Identifier</th>
- * <th>Description</th>
- * <th>Related Function</th>
- * </tr>
- * <tr>
- * <td>POSIX</td>
- * <td>#H5FD_SEC2</td>
- * <td>This driver uses POSIX file-system functions like read and
- * write to perform I/O to a single, permanent file on local disk
- * with no system buffering. This driver is POSIX-compliant and
- * is the default file driver for all systems.</td>
- * <td>H5Pset_fapl_sec2()</td>
- * </tr>
- * <tr>
- * <td>Direct</td>
- * <td>#H5FD_DIRECT</td>
- * <td>This is the #H5FD_SEC2 driver, except data is written to or
- * read from the file synchronously without being cached by the
- * system.</td>
- * <td>H5Pset_fapl_direct()</td>
- * </tr>
- * <tr>
- * <td>Log</td>
- * <td>#H5FD_LOG</td>
- * <td>This is the #H5FD_SEC2 driver with logging capabilities.</td>
- * <td>H5Pset_fapl_log()</td>
- * </tr>
- * <tr>
- * <td>Windows</td>
- * <td>#H5FD_WINDOWS</td>
- * <td>This driver was modified in HDF5-1.8.8 to be a wrapper of the
- * POSIX driver, #H5FD_SEC2. This change should not affect user
- * applications.</td>
- * <td>H5Pset_fapl_windows()</td>
- * </tr>
- * <tr>
- * <td>STDIO</td>
- * <td>#H5FD_STDIO</td>
- * <td>This driver uses functions from the standard C stdio.h to
- * perform I/O to a single, permanent file on local disk with
- * additional system buffering.</td>
- * <td>H5Pset_fapl_stdio()</td>
- * </tr>
- * <tr>
- * <td>Memory</td>
- * <td>#H5FD_CORE</td>
- * <td>With this driver, an application can work with a file in
- * memory for faster reads and writes. File contents are kept in
- * memory until the file is closed. At closing, the memory
- * version of the file can be written back to disk or abandoned.
- * </td>
- * <td>H5Pset_fapl_core()</td>
- * </tr>
- * <tr>
- * <td>Family</td>
- * <td>#H5FD_FAMILY</td>
- * <td>With this driver, the HDF5 file's address space is partitioned
- * into pieces and sent to separate storage files using an
- * underlying driver of the user's choice. This driver is for
- * systems that do not support files larger than 2 gigabytes.
- * </td>
- * <td>H5Pset_fapl_family()</td>
- * </tr>
- * <tr>
- * <td>Multi</td>
- * <td>#H5FD_MULTI</td>
- * <td>With this driver, data can be stored in multiple files
- * according to the type of data. I/O might work better if
- * data is stored in separate files based on the type of data.
- * The Split driver is a special case of this driver.</td>
- * <td>H5Pset_fapl_multi()</td>
- * </tr>
- * <tr>
- * <td>Parallel</td>
- * <td>#H5FD_MPIO</td>
- * <td>This is the standard HDF5 file driver for parallel file
- * systems. This driver uses the MPI standard for both
- * communication and file I/O.</td>
- * <td>H5Pset_fapl_mpio()</td>
- * </tr>
- * <tr>
- * <td>Parallel POSIX</td>
- * <td>H5FD_MPIPOSIX</td>
- * <td>This driver is no longer available.</td>
- * <td></td>
- * </tr>
- * <tr>
- * <td>Stream</td>
- * <td>H5FD_STREAM</td>
- * <td>This driver is no longer available.</td>
- * <td></td>
- * </tr>
- * </table>
+ * \snippet{doc} tables/fileDriverLists.dox supported_file_driver_table
*
* This list does not include custom drivers that might be
* defined and registered by a user.