From 9ecca22dd1852145810280e8c54aa6b0ab26b604 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 16 Apr 2020 17:07:21 -0700 Subject: Fixed problems with S3 and HDFS VFDs. * Updated info struct parameter to correct info_string * Fixed Makefile.am where the S3 VFD was listed twice, causing duplicated symbols errors. --- src/Makefile.am | 7 ++++++- tools/libtest/h5tools_test_utils.c | 2 +- tools/src/h5dump/h5dump.c | 4 ++-- tools/src/h5ls/h5ls.c | 4 ++-- tools/src/h5stat/h5stat.c | 4 ++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 4f40e60..787b502 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,7 +62,7 @@ libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5lib_settings.c H5system.c \ H5FA.c H5FAcache.c H5FAdbg.c H5FAdblock.c H5FAdblkpage.c H5FAhdr.c \ H5FAint.c H5FAstat.c H5FAtest.c \ H5FD.c H5FDcore.c H5FDfamily.c H5FDhdfs.c H5FDint.c H5FDlog.c \ - H5FDmirror.c H5FDmulti.c H5FDros3.c H5FDsec2.c H5FDspace.c \ + H5FDmulti.c H5FDsec2.c H5FDspace.c \ H5FDsplitter.c H5FDstdio.c H5FDtest.c \ H5FL.c H5FO.c H5FS.c H5FScache.c H5FSdbg.c H5FSint.c H5FSsection.c \ H5FSstat.c H5FStest.c \ @@ -126,6 +126,11 @@ if DIRECT_VFD_CONDITIONAL libhdf5_la_SOURCES += H5FDdirect.c endif +# Only compile the mirror VFD if necessary +if MIRROR_VFD_CONDITIONAL + libhdf5_la_SOURCES += H5FDmirror.c +endif + # Only compile the read-only S3 VFD if necessary if ROS3_VFD_CONDITIONAL libhdf5_la_SOURCES += H5FDros3.c H5FDs3comms.c diff --git a/tools/libtest/h5tools_test_utils.c b/tools/libtest/h5tools_test_utils.c index 8956bb5..aecd3f5 100644 --- a/tools/libtest/h5tools_test_utils.c +++ b/tools/libtest/h5tools_test_utils.c @@ -1172,7 +1172,7 @@ test_set_configured_fapl(void) /* test */ fapl_info.type = VFD_BY_NAME; - fapl_info.info = C.conf_fa; + fapl_info.info_string = C.conf_fa; fapl_info.u.name = C.vfdname; result = h5tools_get_fapl(H5P_DEFAULT, &fapl_info); if (C.expected == 0) diff --git a/tools/src/h5dump/h5dump.c b/tools/src/h5dump/h5dump.c index 457bdc0..3de6454 100644 --- a/tools/src/h5dump/h5dump.c +++ b/tools/src/h5dump/h5dump.c @@ -1424,7 +1424,7 @@ main(int argc, const char *argv[]) if (!HDstrcmp(driver, drivernames[ROS3_VFD_IDX])) { #ifdef H5_HAVE_ROS3_VFD - fapl_info.info = (void *)&ros3_fa; + fapl_info.info_string = (void *)&ros3_fa; #else error_msg("Read-Only S3 VFD not enabled.\n"); h5tools_setstatus(EXIT_FAILURE); @@ -1433,7 +1433,7 @@ main(int argc, const char *argv[]) } else if (!HDstrcmp(driver, drivernames[HDFS_VFD_IDX])) { #ifdef H5_HAVE_LIBHDFS - fapl_info.info = (void *)&hdfs_fa; + fapl_info.info_string = (void *)&hdfs_fa; #else error_msg("The HDFS VFD is not enabled.\n"); h5tools_setstatus(EXIT_FAILURE); diff --git a/tools/src/h5ls/h5ls.c b/tools/src/h5ls/h5ls.c index eb86101..9fc91f1 100644 --- a/tools/src/h5ls/h5ls.c +++ b/tools/src/h5ls/h5ls.c @@ -3157,7 +3157,7 @@ main(int argc, const char *argv[]) if (!HDstrcmp(preferred_driver, drivernames[ROS3_VFD_IDX])) { #ifdef H5_HAVE_ROS3_VFD - fapl_info.info = (void *)&ros3_fa; + fapl_info.info_string = (void *)&ros3_fa; #else HDfprintf(rawerrorstream, "Error: Read-Only S3 VFD is not enabled\n\n"); leave(EXIT_FAILURE); @@ -3165,7 +3165,7 @@ main(int argc, const char *argv[]) } else if (!HDstrcmp(preferred_driver, drivernames[HDFS_VFD_IDX])) { #ifdef H5_HAVE_LIBHDFS - fapl_info.info = (void *)&hdfs_fa; + fapl_info.info_string = (void *)&hdfs_fa; #else HDfprintf(rawerrorstream, "Error: The HDFS VFD is not enabled\n\n"); leave(EXIT_FAILURE); diff --git a/tools/src/h5stat/h5stat.c b/tools/src/h5stat/h5stat.c index aae5416..bebe443 100644 --- a/tools/src/h5stat/h5stat.c +++ b/tools/src/h5stat/h5stat.c @@ -1822,7 +1822,7 @@ main(int argc, const char *argv[]) if (!HDstrcmp(drivername, drivernames[ROS3_VFD_IDX])) { #ifdef H5_HAVE_ROS3_VFD - fapl_info.info = (void *)&ros3_fa; + fapl_info.info_string = (void *)&ros3_fa; #else error_msg("Read-Only S3 VFD not enabled.\n"); goto done; @@ -1830,7 +1830,7 @@ main(int argc, const char *argv[]) } else if (!HDstrcmp(drivername, drivernames[HDFS_VFD_IDX])) { #ifdef H5_HAVE_LIBHDFS - fapl_info.info = (void *)&hdfs_fa; + fapl_info.info_string = (void *)&hdfs_fa; #else error_msg("HDFS VFD not enabled.\n"); goto done; -- cgit v0.12