summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2018-11-14 21:37:31 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2018-11-14 21:37:31 (GMT)
commit3edd97731e90b7fc3a378e2c6e9c043a23327d93 (patch)
tree448c0dcbe6807d21e660f89b5845a65ce2828062 /tools
parentca1788e0823b6915eec785de3a880987eae54a2a (diff)
downloadhdf5-3edd97731e90b7fc3a378e2c6e9c043a23327d93.zip
hdf5-3edd97731e90b7fc3a378e2c6e9c043a23327d93.tar.gz
hdf5-3edd97731e90b7fc3a378e2c6e9c043a23327d93.tar.bz2
Renamed h5repart's -family_to_sec2 to -family_to_single.
Diffstat (limited to 'tools')
-rw-r--r--tools/src/misc/h5repart.c45
-rw-r--r--tools/test/misc/CMakeTestsRepart.cmake5
-rw-r--r--tools/test/misc/repart_test.c21
-rw-r--r--tools/test/misc/testh5repart.sh.in6
4 files changed, 49 insertions, 28 deletions
diff --git a/tools/src/misc/h5repart.c b/tools/src/misc/h5repart.c
index cdc554f..2f4d93e 100644
--- a/tools/src/misc/h5repart.c
+++ b/tools/src/misc/h5repart.c
@@ -29,11 +29,12 @@
#define NAMELEN 4096
#define GB *1024*1024*1024
-/*Make these 2 private properties(defined in H5Fprivate.h) available to h5repart.
- *The first one updates the member file size in the superblock. The second one
- *change file driver from family to sec2. */
+/* Make these 2 private properties(defined in H5Fprivate.h) available to h5repart.
+ * The first one updates the member file size in the superblock. The second one
+ * change file driver from family to a single file driver.
+ */
#define H5F_ACS_FAMILY_NEWSIZE_NAME "family_newsize"
-#define H5F_ACS_FAMILY_TO_SEC2_NAME "family_to_sec2"
+#define H5F_ACS_FAMILY_TO_SINGLE_NAME "family_to_single"
/*-------------------------------------------------------------------------
@@ -53,13 +54,14 @@
static void
usage (const char *progname)
{
- fprintf(stderr, "usage: %s [-v] [-V] [-[b|m] N[g|m|k]] [-family_to_sec2] SRC DST\n",
+ fprintf(stderr, "usage: %s [-v] [-V] [-[b|m] N[g|m|k]] [-family_to_sec2|-family_to_single] SRC DST\n",
progname);
fprintf(stderr, " -v Produce verbose output\n");
fprintf(stderr, " -V Print a version number and exit\n");
fprintf(stderr, " -b N The I/O block size, defaults to 1kB\n");
fprintf(stderr, " -m N The destination member size or 1GB\n");
- fprintf(stderr, " -family_to_sec2 Change file driver from family to sec2\n");
+ fprintf(stderr, " -family_to_sec2 Deprecated version of -family_to_single (below)\n");
+ fprintf(stderr, " -family_to_single Change file driver from family to the default single-file VFD (windows or sec2)\n");
fprintf(stderr, " SRC The name of the source file\n");
fprintf(stderr, " DST The name of the destination files\n");
fprintf(stderr, "Sizes may be suffixed with `g' for GB, `m' for MB or "
@@ -186,7 +188,7 @@ main (int argc, char *argv[])
hid_t fapl; /*file access property list */
hid_t file;
hsize_t hdsize; /*destination logical memb size */
- hbool_t family_to_sec2=FALSE; /*change family to sec2 driver? */
+ hbool_t family_to_single = FALSE; /*change family to single file driver? */
/*
* Get the program name from argv[0]. Use only the last component.
@@ -206,7 +208,10 @@ main (int argc, char *argv[])
prog_name, H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE);
exit(EXIT_SUCCESS);
} else if (!strcmp (argv[argno], "-family_to_sec2")) {
- family_to_sec2 = TRUE;
+ family_to_single = TRUE;
+ argno++;
+ } else if (!strcmp (argv[argno], "-family_to_single")) {
+ family_to_single = TRUE;
argno++;
} else if ('b'==argv[argno][1]) {
blk_size = (size_t)get_size (prog_name, &argno, argc, argv);
@@ -422,11 +427,12 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
- if(family_to_sec2) {
- /* The user wants to change file driver from family to sec2. Open the file
- * with sec2 driver. This property signals the library to ignore the family
- * driver information saved in the superblock. */
- if(H5Pset(fapl, H5F_ACS_FAMILY_TO_SEC2_NAME, &family_to_sec2) < 0) {
+ if(family_to_single) {
+ /* The user wants to change file driver from family to a single-file VFD.
+ * Open the file with the sec2, windows, etc. driver. This property signals
+ * the library to ignore the family driver information saved in the superblock.
+ */
+ if(H5Pset(fapl, H5F_ACS_FAMILY_TO_SINGLE_NAME, &family_to_single) < 0) {
perror ("H5Pset");
exit (EXIT_FAILURE);
}
@@ -449,13 +455,14 @@ main (int argc, char *argv[])
/* If the new file is a family file, try to open file for "read and write" to
* flush metadata. Flushing metadata will update the superblock to the new
- * member size. If the original file is a family file and the new file is a sec2
- * file, the property FAMILY_TO_SEC2 will signal the library to switch to sec2
- * driver when the new file is opened. If the original file is a sec2 file and the
- * new file can only be a sec2 file, reopen the new file should fail. There's
- * nothing to do in this case. */
+ * member size. If the original file is a family file and the new file is a single
+ * file, the property FAMILY_TO_SINGLE will signal the library to switch to default
+ * single-file driver when the new file is opened. If the original file is a single
+ * file and the new file can only be a single file, reopen the new file should fail.
+ * There's nothing to do in this case.
+ */
H5E_BEGIN_TRY {
- file=H5Fopen(dst_gen_name, H5F_ACC_RDWR, fapl);
+ file = H5Fopen(dst_gen_name, H5F_ACC_RDWR, fapl);
} H5E_END_TRY;
if(file>=0) {
diff --git a/tools/test/misc/CMakeTestsRepart.cmake b/tools/test/misc/CMakeTestsRepart.cmake
index 37da903..830de11 100644
--- a/tools/test/misc/CMakeTestsRepart.cmake
+++ b/tools/test/misc/CMakeTestsRepart.cmake
@@ -68,6 +68,7 @@
scd_family00001.h5
scd_family00002.h5
scd_family00003.h5
+ family_to_single.h5
family_to_sec2.h5
)
if (NOT "${last_test}" STREQUAL "")
@@ -84,6 +85,10 @@
set_tests_properties (H5REPART-h5repart_5K PROPERTIES DEPENDS H5REPART-clearall-objects)
# convert family file to sec2 file of 20,000 bytes
+ add_test (NAME H5REPART-h5repart_single COMMAND $<TARGET_FILE:h5repart> -m 20000 -family_to_single family_file%05d.h5 family_to_single.h5)
+ set_tests_properties (H5REPART-h5repart_single PROPERTIES DEPENDS H5REPART-clearall-objects)
+
+ # convert family file to sec2 file of 20,000 bytes (old argument)
add_test (NAME H5REPART-h5repart_sec2 COMMAND $<TARGET_FILE:h5repart> -m 20000 -family_to_sec2 family_file%05d.h5 family_to_sec2.h5)
set_tests_properties (H5REPART-h5repart_sec2 PROPERTIES DEPENDS H5REPART-clearall-objects)
diff --git a/tools/test/misc/repart_test.c b/tools/test/misc/repart_test.c
index 4016ee8..b8e0292 100644
--- a/tools/test/misc/repart_test.c
+++ b/tools/test/misc/repart_test.c
@@ -26,12 +26,13 @@
const char *FILENAME[] = {
"fst_family%05d.h5",
"scd_family%05d.h5",
+ "family_to_single.h5",
"family_to_sec2.h5",
NULL
};
herr_t test_family_h5repart_opens(void);
-herr_t test_sec2_h5repart_opens(void);
+herr_t test_single_h5repart_opens(void);
/*-------------------------------------------------------------------------
@@ -90,23 +91,28 @@ error:
/*-------------------------------------------------------------------------
- * Function: test_sec2_h5repart_opens
+ * Function: test_single_h5repart_opens
*
- * Purpose: Tries to reopen a sec2 file.
+ * Purpose: Tries to reopen a single file.
*
* Return: SUCCEED/FAIL
*
*-------------------------------------------------------------------------
*/
herr_t
-test_sec2_h5repart_opens(void)
+test_single_h5repart_opens(void)
{
hid_t fid = -1;
- /* open the sec2 file */
+ /* open the single file */
if ((fid = H5Fopen(FILENAME[2], H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
goto error;
+ if (H5Fclose(fid) < 0)
+ goto error;
+ /* open the single file (created using the old argument) */
+ if ((fid = H5Fopen(FILENAME[3], H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
+ goto error;
if (H5Fclose(fid) < 0)
goto error;
@@ -119,7 +125,7 @@ error:
return FAIL;
-} /* end test_sec2_h5repart_opens() */
+} /* end test_single_h5repart_opens() */
/*-------------------------------------------------------------------------
@@ -137,7 +143,7 @@ main(void)
int nerrors = 0;
nerrors += test_family_h5repart_opens() < 0 ? 1 : 0;
- nerrors += test_sec2_h5repart_opens() < 0 ? 1 : 0;
+ nerrors += test_single_h5repart_opens() < 0 ? 1 : 0;
if (nerrors)
goto error;
@@ -150,3 +156,4 @@ error:
nerrors, 1 == nerrors ? "" : "S");
HDexit(EXIT_FAILURE);
} /* end main() */
+
diff --git a/tools/test/misc/testh5repart.sh.in b/tools/test/misc/testh5repart.sh.in
index 594d37e..143f607 100644
--- a/tools/test/misc/testh5repart.sh.in
+++ b/tools/test/misc/testh5repart.sh.in
@@ -171,7 +171,9 @@ COPY_TESTFILES_TO_TESTDIR
TOOLTEST -m 20000 family_file%05d.h5 fst_family%05d.h5
# repartition family member size to 5 KB.
TOOLTEST -m 5k family_file%05d.h5 scd_family%05d.h5
-# convert family file to sec2 file of 20,000 bytes
+# convert family file to single file of 20,000 bytes
+TOOLTEST -m 20000 -family_to_single family_file%05d.h5 family_to_single.h5
+# convert family file to single file of 20,000 bytes (old argument)
TOOLTEST -m 20000 -family_to_sec2 family_file%05d.h5 family_to_sec2.h5
# test the output files repartitioned above.
@@ -183,7 +185,7 @@ CLEAN_TESTFILES_AND_TESTDIR
if test -z "$HDF5_NOCLEANUP"; then
cd $actual_dir
- rm -f fst_family*.h5 scd_family*.h5 family_to_sec2.h5
+ rm -f fst_family*.h5 scd_family*.h5 family_to_single.h5 family_to_sec2.h5
fi
if test $nerrors -eq 0 ; then