Skip to content

Commit

Permalink
Add missing row for the ROS3 VFD in table HDFGroup#3415 (HDFGroup#3517)
Browse files Browse the repository at this point in the history
  • Loading branch information
byrnHDF authored and qkoziol committed Sep 30, 2023
1 parent 946b8c4 commit 9182ac3
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 138 deletions.
144 changes: 106 additions & 38 deletions doxygen/examples/tables/fileDriverLists.dox
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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>
Expand All @@ -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>
Expand Down
13 changes: 11 additions & 2 deletions doxygen/examples/tables/propertyLists.dox
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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>
Expand Down
2 changes: 1 addition & 1 deletion src/H5Fmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/H5Fpublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*
Expand Down
97 changes: 1 addition & 96 deletions src/H5Ppublic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit 9182ac3

Please sign in to comment.