summaryrefslogtreecommitdiffstats
path: root/test/vfd_swmr.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2021-03-25 00:39:37 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2021-03-25 00:39:37 (GMT)
commitfeb20aac304b39e18c70f88cae2f7cf7d5c82db2 (patch)
treee15d7e751af4e3c42e77ea955d91db4cf27a71cf /test/vfd_swmr.c
parentbdac2ecdbff2c389a222b3d93ff1eb1d23ec6b23 (diff)
downloadhdf5-feb20aac304b39e18c70f88cae2f7cf7d5c82db2.zip
hdf5-feb20aac304b39e18c70f88cae2f7cf7d5c82db2.tar.gz
hdf5-feb20aac304b39e18c70f88cae2f7cf7d5c82db2.tar.bz2
Formats the source and updates the gcc warning pragmas
Diffstat (limited to 'test/vfd_swmr.c')
-rw-r--r--test/vfd_swmr.c2125
1 files changed, 1083 insertions, 1042 deletions
diff --git a/test/vfd_swmr.c b/test/vfd_swmr.c
index 8c5b853..cb63c2a 100644
--- a/test/vfd_swmr.c
+++ b/test/vfd_swmr.c
@@ -12,12 +12,12 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/***********************************************************
-*
-* Test program:
-*
-* Tests the VFD SWMR Feature.
-*
-*************************************************************/
+ *
+ * Test program:
+ *
+ * Tests the VFD SWMR Feature.
+ *
+ *************************************************************/
#include "H5queue.h"
#include "h5test.h"
@@ -27,8 +27,8 @@
* This file needs to access private information from the H5F package.
*/
-#define H5F_FRIEND /*suppress error about including H5Fpkg */
-#define H5FD_FRIEND /*suppress error about including H5FDpkg */
+#define H5F_FRIEND /*suppress error about including H5Fpkg */
+#define H5FD_FRIEND /*suppress error about including H5FDpkg */
#define H5F_TESTING
#define H5FD_TESTING
#include "H5FDprivate.h"
@@ -36,20 +36,20 @@
#include "H5FDpkg.h"
#include "H5Iprivate.h"
-#define H5FD_FRIEND /*suppress error about including H5FDpkg */
+#define H5FD_FRIEND /*suppress error about including H5FDpkg */
#include "H5FDpkg.h"
-#define FS_PAGE_SIZE 512
-#define FILENAME "vfd_swmr_file.h5"
-#define MD_FILENAME "vfd_swmr_metadata_file"
+#define FS_PAGE_SIZE 512
+#define FILENAME "vfd_swmr_file.h5"
+#define MD_FILENAME "vfd_swmr_metadata_file"
-#define FILENAME2 "vfd_swmr_file2.h5"
-#define MD_FILENAME2 "vfd_swmr_metadata_file2"
+#define FILENAME2 "vfd_swmr_file2.h5"
+#define MD_FILENAME2 "vfd_swmr_metadata_file2"
-#define FILENAME3 "vfd_swmr_file3.h5"
-#define MD_FILENAME3 "vfd_swmr_metadata_file3"
+#define FILENAME3 "vfd_swmr_file3.h5"
+#define MD_FILENAME3 "vfd_swmr_metadata_file3"
-#define FNAME "non_vfd_swmr_file.h5"
+#define FNAME "non_vfd_swmr_file.h5"
/* test routines for VFD SWMR */
static unsigned test_fapl(void);
@@ -58,9 +58,9 @@ static unsigned test_file_fapl(void);
static unsigned test_writer_md(void);
/* helper routines */
-static hid_t
-init_vfd_swmr_config_fapl(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint32_t max_lag,
- hbool_t is_writer, uint32_t md_pages_reserved, const char *md_file_path, size_t pbuf_size);
+static hid_t init_vfd_swmr_config_fapl(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint32_t max_lag,
+ hbool_t is_writer, uint32_t md_pages_reserved,
+ const char *md_file_path, size_t pbuf_size);
/*-------------------------------------------------------------------------
* Function: init_vfd_swmr_config_fapl
@@ -72,31 +72,32 @@ init_vfd_swmr_config_fapl(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint
*-------------------------------------------------------------------------
*/
static hid_t
-init_vfd_swmr_config_fapl(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint32_t max_lag,
- hbool_t is_writer, uint32_t md_pages_reserved, const char *md_file_path, size_t pbuf_size)
+init_vfd_swmr_config_fapl(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint32_t max_lag,
+ hbool_t is_writer, uint32_t md_pages_reserved, const char *md_file_path,
+ size_t pbuf_size)
{
hid_t fapl;
HDmemset(config, 0, sizeof(*config));
- config->version = H5F__CURR_VFD_SWMR_CONFIG_VERSION;
- config->tick_len = tick_len;
- config->max_lag = max_lag;
- config->writer = is_writer;
+ config->version = H5F__CURR_VFD_SWMR_CONFIG_VERSION;
+ config->tick_len = tick_len;
+ config->max_lag = max_lag;
+ config->writer = is_writer;
config->md_pages_reserved = md_pages_reserved;
HDstrcpy(config->md_file_path, md_file_path);
/* Create a copy of the file access property list */
- if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
+ if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
return H5I_INVALID_HID;
- if(H5Pset_vfd_swmr_config(fapl, config) < 0) {
+ if (H5Pset_vfd_swmr_config(fapl, config) < 0) {
(void)H5Pclose(fapl);
return H5I_INVALID_HID;
}
/* Enable page buffering */
- if(pbuf_size != 0 && H5Pset_page_buffer_size(fapl, pbuf_size, 0, 0) < 0) {
+ if (pbuf_size != 0 && H5Pset_page_buffer_size(fapl, pbuf_size, 0, 0) < 0) {
(void)H5Pclose(fapl);
return H5I_INVALID_HID;
}
@@ -104,7 +105,6 @@ init_vfd_swmr_config_fapl(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint
return fapl;
} /* init_vfd_swmr_config_fapl() */
-
/*-------------------------------------------------------------------------
* Function: test_fapl()
*
@@ -127,65 +127,73 @@ init_vfd_swmr_config_fapl(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint
static unsigned
test_fapl(void)
{
- hid_t fapl = -1; /* File access property list */
- H5F_vfd_swmr_config_t *my_config = NULL; /* Configuration for VFD SWMR */
- herr_t ret; /* Return value */
+ hid_t fapl = -1; /* File access property list */
+ H5F_vfd_swmr_config_t *my_config = NULL; /* Configuration for VFD SWMR */
+ herr_t ret; /* Return value */
TESTING("Configure VFD SWMR with fapl");
/* Allocate memory for the configuration structure */
- if((my_config = HDmalloc(sizeof(*my_config))) == NULL)
+ if ((my_config = HDmalloc(sizeof(*my_config))) == NULL)
FAIL_STACK_ERROR;
HDmemset(my_config, 0, sizeof(*my_config));
/* Get a copy of the file access property list */
- if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
+ if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
TEST_ERROR;
/* Should get invalid VFD SWMR config info */
- if(H5Pget_vfd_swmr_config(fapl, my_config) < 0)
+ if (H5Pget_vfd_swmr_config(fapl, my_config) < 0)
TEST_ERROR;
/* Verify that the version is incorrect */
- if(my_config->version >= H5F__CURR_VFD_SWMR_CONFIG_VERSION)
+ if (my_config->version >= H5F__CURR_VFD_SWMR_CONFIG_VERSION)
TEST_ERROR;
/* Should fail: version is 0 */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Pset_vfd_swmr_config(fapl, my_config);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR;
/* Set valid version */
my_config->version = H5F__CURR_VFD_SWMR_CONFIG_VERSION;
/* Set valid tick_len */
- my_config->tick_len = 3;
+ my_config->tick_len = 3;
/* Should fail: max_lag is 2 */
my_config->max_lag = 2;
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Pset_vfd_swmr_config(fapl, my_config);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR;
/* Set valid max_lag */
my_config->max_lag = 3;
/* Should fail: md_pages_reserved is 0 */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Pset_vfd_swmr_config(fapl, my_config);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR;
/* Set valid md_pages_reserved */
my_config->md_pages_reserved = 2;
/* Should fail: empty md_file_path */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Pset_vfd_swmr_config(fapl, my_config);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR;
/* Set md_file_path */
@@ -193,44 +201,45 @@ test_fapl(void)
my_config->writer = TRUE;
/* Should succeed in setting the configuration info */
- if(H5Pset_vfd_swmr_config(fapl, my_config) < 0)
+ if (H5Pset_vfd_swmr_config(fapl, my_config) < 0)
TEST_ERROR;
/* Clear the configuration structure */
HDmemset(my_config, 0, sizeof(H5F_vfd_swmr_config_t));
/* Retrieve the configuration info just set */
- if(H5Pget_vfd_swmr_config(fapl, my_config) < 0)
+ if (H5Pget_vfd_swmr_config(fapl, my_config) < 0)
TEST_ERROR;
/* Verify the configuration info */
- if(my_config->version < H5F__CURR_VFD_SWMR_CONFIG_VERSION)
+ if (my_config->version < H5F__CURR_VFD_SWMR_CONFIG_VERSION)
TEST_ERROR;
- if(my_config->md_pages_reserved != 2)
+ if (my_config->md_pages_reserved != 2)
TEST_ERROR;
- if(HDstrcmp(my_config->md_file_path, MD_FILENAME) != 0)
+ if (HDstrcmp(my_config->md_file_path, MD_FILENAME) != 0)
TEST_ERROR;
/* Close the file access property list */
- if(H5Pclose(fapl) < 0)
+ if (H5Pclose(fapl) < 0)
FAIL_STACK_ERROR;
- if(my_config)
+ if (my_config)
HDfree(my_config);
PASSED();
return 0;
error:
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl);
- } H5E_END_TRY;
- if(my_config)
+ }
+ H5E_END_TRY;
+ if (my_config)
HDfree(my_config);
return 1;
} /* test_fapl() */
-
/*-------------------------------------------------------------------------
* Function: test_file_fapl()
*
@@ -254,166 +263,174 @@ error:
static unsigned
test_file_fapl(void)
{
- hid_t fid = -1; /* File ID */
- hid_t fid2 = -1; /* File ID */
- hid_t fcpl = -1; /* File creation property list ID */
- hid_t fapl1 = -1; /* File access property list ID */
- hid_t fapl2 = -1; /* File access property list ID */
- hid_t file_fapl = -1; /* File access property list ID associated with the file */
- H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *file_config = NULL; /* Configuration for VFD SWMR */
+ hid_t fid = -1; /* File ID */
+ hid_t fid2 = -1; /* File ID */
+ hid_t fcpl = -1; /* File creation property list ID */
+ hid_t fapl1 = -1; /* File access property list ID */
+ hid_t fapl2 = -1; /* File access property list ID */
+ hid_t file_fapl = -1; /* File access property list ID associated with the file */
+ H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *file_config = NULL; /* Configuration for VFD SWMR */
TESTING("VFD SWMR configuration for the file and fapl");
/* Should succeed without VFD SWMR configured */
- if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if ((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Close the file */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
/* Allocate memory for the configuration structure */
- if((config1 = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
+ if ((config1 = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
FAIL_STACK_ERROR;
- if((config2 = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
+ if ((config2 = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
FAIL_STACK_ERROR;
- if((file_config = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
+ if ((file_config = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
FAIL_STACK_ERROR;
/* Configured as VFD SWMR reader + no page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 6, FALSE, 2, MD_FILENAME, 0);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
TEST_ERROR
/* Should fail to create: file access is writer but VFD SWMR config is reader */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, fapl1);
- } H5E_END_TRY;
- if(fid >= 0)
+ }
+ H5E_END_TRY;
+ if (fid >= 0)
TEST_ERROR;
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR
/* Configured as VFD SWMR writer + no page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 6, TRUE, 2, MD_FILENAME, 0);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
TEST_ERROR
/* Should fail to create: page buffering and paged aggregation not enabled */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, fapl1);
- } H5E_END_TRY;
- if(fid >= 0)
+ }
+ H5E_END_TRY;
+ if (fid >= 0)
TEST_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
- FAIL_STACK_ERROR
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
/* Should fail to create: no page buffering */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1);
- } H5E_END_TRY;
- if(fid >= 0)
+ }
+ H5E_END_TRY;
+ if (fid >= 0)
TEST_ERROR;
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR
/* Configured as VFD SWMR writer + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 6, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
TEST_ERROR
/* Should succeed to create the file: paged aggregation and page buffering enabled */
- if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
+ if ((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
TEST_ERROR;
/* Get the file's file access property list */
- if((file_fapl = H5Fget_access_plist(fid)) < 0)
+ if ((file_fapl = H5Fget_access_plist(fid)) < 0)
FAIL_STACK_ERROR;
/* Retrieve the VFD SWMR configuration from file_fapl */
- if(H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
+ if (H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
TEST_ERROR;
/* Verify the retrieved info is the same as config1 */
- if(HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
+ if (HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
TEST_ERROR;
/* Closing */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(file_fapl) < 0)
+ if (H5Pclose(file_fapl) < 0)
FAIL_STACK_ERROR;
/* Should fail to open: file access is reader but VFD SWMR config is writer */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl1);
- } H5E_END_TRY;
- if(fid >= 0)
+ }
+ H5E_END_TRY;
+ if (fid >= 0)
TEST_ERROR;
/* Should succeed to open: file access and VFD SWMR config are consistent */
- if((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
+ if ((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
TEST_ERROR;
/* Get the file's file access property list */
- if((file_fapl = H5Fget_access_plist(fid)) < 0)
+ if ((file_fapl = H5Fget_access_plist(fid)) < 0)
FAIL_STACK_ERROR;
/* Clear info in file_config */
HDmemset(file_config, 0, sizeof(H5F_vfd_swmr_config_t));
/* Retrieve the VFD SWMR configuration from file_fapl */
- if(H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
+ if (H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
TEST_ERROR;
/* Verify the retrieved info is the same as config1 */
- if(HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
+ if (HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
TEST_ERROR;
/* Closing */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(file_fapl) < 0)
+ if (H5Pclose(file_fapl) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
/* Set up different VFD SWMR configuration + page_buffering */
fapl2 = init_vfd_swmr_config_fapl(config2, 4, 10, TRUE, 2, MD_FILENAME, 4096);
- if(fapl2 == H5I_INVALID_HID)
+ if (fapl2 == H5I_INVALID_HID)
TEST_ERROR
/* Should succeed to open the file as VFD SWMR writer */
- if((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl2)) < 0)
+ if ((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl2)) < 0)
TEST_ERROR;
/* Get the file's file access property list */
- if((file_fapl = H5Fget_access_plist(fid)) < 0)
+ if ((file_fapl = H5Fget_access_plist(fid)) < 0)
FAIL_STACK_ERROR;
/* Clear info in file_config */
HDmemset(file_config, 0, sizeof(H5F_vfd_swmr_config_t));
/* Retrieve the VFD SWMR configuration from file_fapl */
- if(H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
+ if (H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
TEST_ERROR;
/* Verify the retrieved info is NOT the same as config1 */
- if(HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) == 0)
+ if (HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) == 0)
TEST_ERROR;
/* Verify the retrieved info is the same as config2 */
- if(HDmemcmp(config2, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
+ if (HDmemcmp(config2, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
TEST_ERROR;
/* The file previously opened as VDF SWMR writer is still open */
@@ -421,96 +438,99 @@ test_file_fapl(void)
/* Set up as VFD SWMR writer in config1 but different from config2 */
fapl1 = init_vfd_swmr_config_fapl(config1, 3, 8, TRUE, 3, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
TEST_ERROR;
/* Re-open the same file with config1 */
/* Should fail to open since config1 is different from config2 setting */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1);
- } H5E_END_TRY;
- if(fid2 >= 0)
+ }
+ H5E_END_TRY;
+ if (fid2 >= 0)
TEST_ERROR;
/* Close fapl1 */
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
/* Set up as VFD SWMR reader in config1 which is same as config2 */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 10, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
TEST_ERROR;
/* Re-open the same file as VFD SWMR writer */
/* Should succeed since config1 is same as the setting in config2 */
- if((fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
+ if ((fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
TEST_ERROR
/* Close fapl1 */
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
HDmemset(file_config, 0, sizeof(H5F_vfd_swmr_config_t));
/* Get the file's file access property list */
- if((file_fapl = H5Fget_access_plist(fid)) < 0)
+ if ((file_fapl = H5Fget_access_plist(fid)) < 0)
FAIL_STACK_ERROR;
/* Retrieve the VFD SWMR configuration from file_fapl */
- if(H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
+ if (H5Pget_vfd_swmr_config(file_fapl, file_config) < 0)
TEST_ERROR;
/* Should be the same as config1 */
- if(HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
+ if (HDmemcmp(config1, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
TEST_ERROR;
/* Should be the the same as config2 */
- if(HDmemcmp(config2, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
+ if (HDmemcmp(config2, file_config, sizeof(H5F_vfd_swmr_config_t)) != 0)
TEST_ERROR;
/* Closing */
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl2) < 0)
+ if (H5Pclose(fapl2) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(file_fapl) < 0)
+ if (H5Pclose(file_fapl) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free buffers */
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
- if(file_config)
+ if (file_config)
HDfree(file_config);
PASSED();
return 0;
error:
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl1);
H5Pclose(fapl2);
H5Pclose(file_fapl);
H5Pclose(fcpl);
H5Fclose(fid);
H5Fclose(fid2);
- } H5E_END_TRY;
- if(config1)
+ }
+ H5E_END_TRY;
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
- if(file_config)
+ if (file_config)
HDfree(file_config);
return 1;
} /* test_file_fapl() */
-
/*-------------------------------------------------------------------------
* Function: test_file_end_tick()
*
@@ -527,96 +547,98 @@ error:
static unsigned
test_file_end_tick(void)
{
- hid_t fid1 = H5I_INVALID_HID; /* File ID */
- hid_t fid2 = H5I_INVALID_HID; /* File ID */
- hid_t fid3 = H5I_INVALID_HID; /* File ID */
- hid_t fcpl = H5I_INVALID_HID; /* File creation property list ID */
- hid_t fapl1 = H5I_INVALID_HID; /* File access property list ID */
- hid_t fapl2 = H5I_INVALID_HID; /* File access property list ID */
- hid_t fapl3 = H5I_INVALID_HID; /* File access property list ID */
- H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *config3 = NULL; /* Configuration for VFD SWMR */
- H5F_t *f1, *f2, *f3; /* File pointer */
- uint64_t s1 = 0; /* Saved tick_num */
- uint64_t s2 = 0; /* Saved tick_num */
- uint64_t s3 = 0; /* Saved tick_num */
- int ret; /* Return status */
+ hid_t fid1 = H5I_INVALID_HID; /* File ID */
+ hid_t fid2 = H5I_INVALID_HID; /* File ID */
+ hid_t fid3 = H5I_INVALID_HID; /* File ID */
+ hid_t fcpl = H5I_INVALID_HID; /* File creation property list ID */
+ hid_t fapl1 = H5I_INVALID_HID; /* File access property list ID */
+ hid_t fapl2 = H5I_INVALID_HID; /* File access property list ID */
+ hid_t fapl3 = H5I_INVALID_HID; /* File access property list ID */
+ H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *config3 = NULL; /* Configuration for VFD SWMR */
+ H5F_t * f1, *f2, *f3; /* File pointer */
+ uint64_t s1 = 0; /* Saved tick_num */
+ uint64_t s2 = 0; /* Saved tick_num */
+ uint64_t s3 = 0; /* Saved tick_num */
+ int ret; /* Return status */
TESTING("H5Fvfd_swmr_end_tick()");
/* Create a file without VFD SWMR configured */
- if((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if ((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Should fail to trigger EOT */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Fvfd_swmr_end_tick(fid1);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR;
/* Close the file */
- if(H5Fclose(fid1) < 0)
+ if (H5Fclose(fid1) < 0)
FAIL_STACK_ERROR;
/* Allocate memory for the configuration structure */
- if((config1 = HDmalloc(sizeof(*config1))) == NULL)
+ if ((config1 = HDmalloc(sizeof(*config1))) == NULL)
FAIL_STACK_ERROR;
- if((config2 = HDmalloc(sizeof(*config2))) == NULL)
+ if ((config2 = HDmalloc(sizeof(*config2))) == NULL)
FAIL_STACK_ERROR;
- if((config3 = HDmalloc(sizeof(*config3))) == NULL)
+ if ((config3 = HDmalloc(sizeof(*config3))) == NULL)
FAIL_STACK_ERROR;
/* Configured file 1 as VFD SWMR writer + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 10, 15, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Configured file 2 as VFD SWMR writer + page buffering */
fapl2 = init_vfd_swmr_config_fapl(config2, 5, 6, TRUE, 2, MD_FILENAME2, 4096);
- if(fapl2 == H5I_INVALID_HID)
+ if (fapl2 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Configured file 3 as VFD SWMR writer + page buffering */
fapl3 = init_vfd_swmr_config_fapl(config3, 3, 6, TRUE, 2, MD_FILENAME3, 4096);
- if(fapl3 == H5I_INVALID_HID)
+ if (fapl3 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
- FAIL_STACK_ERROR
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
/* Create file 1 with VFD SWMR writer */
- if((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
+ if ((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
TEST_ERROR;
/* Keep file 1 opened */
/* Create file 2 with VFD SWMR writer */
- if((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, fapl2)) < 0)
+ if ((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, fapl2)) < 0)
TEST_ERROR;
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
/* Create file 3 with VFD SWMR writer */
- if((fid3 = H5Fcreate(FILENAME3, H5F_ACC_TRUNC, fcpl, fapl3)) < 0)
+ if ((fid3 = H5Fcreate(FILENAME3, H5F_ACC_TRUNC, fcpl, fapl3)) < 0)
TEST_ERROR;
- if(H5Fclose(fid3) < 0)
+ if (H5Fclose(fid3) < 0)
FAIL_STACK_ERROR;
/* Open file 2 as VFD SWMR writer */
- if((fid2 = H5Fopen(FILENAME2, H5F_ACC_RDWR, fapl2)) < 0)
+ if ((fid2 = H5Fopen(FILENAME2, H5F_ACC_RDWR, fapl2)) < 0)
TEST_ERROR;
/* Open file 3 as VFD SWMR writer */
- if((fid3 = H5Fopen(FILENAME3, H5F_ACC_RDWR, fapl3)) < 0)
+ if ((fid3 = H5Fopen(FILENAME3, H5F_ACC_RDWR, fapl3)) < 0)
TEST_ERROR;
- /* Get file pointer for the 3 files */
+ /* Get file pointer for the 3 files */
f1 = H5VL_object(fid1);
f2 = H5VL_object(fid2);
f3 = H5VL_object(fid3);
@@ -627,74 +649,75 @@ test_file_end_tick(void)
s3 = f3->shared->tick_num;
/* Trigger EOT for file 2 */
- if(H5Fvfd_swmr_end_tick(fid2) < 0)
+ if (H5Fvfd_swmr_end_tick(fid2) < 0)
TEST_ERROR;
/* file 2: tick_num should increase or at least same as previous tick_num */
- if(f2->shared->tick_num < s2)
+ if (f2->shared->tick_num < s2)
TEST_ERROR;
/* Disable EOT for file 2 */
- if(H5Fvfd_swmr_disable_end_of_tick(fid2) < 0)
+ if (H5Fvfd_swmr_disable_end_of_tick(fid2) < 0)
TEST_ERROR;
/* Should fail to trigger end of tick processing for file 2 */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Fvfd_swmr_end_tick(fid2);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR;
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
/* Trigger EOT for file 1 */
- if(H5Fvfd_swmr_end_tick(fid1) < 0)
+ if (H5Fvfd_swmr_end_tick(fid1) < 0)
TEST_ERROR;
/* file 1: tick_num should increase or at least same as previous tick_num */
- if(f1->shared->tick_num < s1)
+ if (f1->shared->tick_num < s1)
TEST_ERROR;
- if(H5Fclose(fid1) < 0)
+ if (H5Fclose(fid1) < 0)
FAIL_STACK_ERROR;
-
/* Trigger EOT for file 3 */
- if(H5Fvfd_swmr_end_tick(fid3) < 0)
+ if (H5Fvfd_swmr_end_tick(fid3) < 0)
TEST_ERROR;
/* file 3: tick_num should increase or at least same as previous tick_num */
- if(f3->shared->tick_num < s3)
+ if (f3->shared->tick_num < s3)
TEST_ERROR;
- if(H5Fclose(fid3) < 0)
+ if (H5Fclose(fid3) < 0)
FAIL_STACK_ERROR;
-
/* Closing */
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl2) < 0)
+ if (H5Pclose(fapl2) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl3) < 0)
+ if (H5Pclose(fapl3) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free buffers */
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
- if(config3)
+ if (config3)
HDfree(config3);
PASSED();
return 0;
error:
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl1);
H5Pclose(fapl2);
H5Pclose(fapl3);
@@ -702,19 +725,19 @@ error:
H5Fclose(fid1);
H5Fclose(fid2);
H5Fclose(fid3);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
- if(config3)
+ if (config3)
HDfree(config3);
return 1;
} /* test_file_end_tick() */
-
/*-------------------------------------------------------------------------
* Function: test_writer_create_open_flush()
*
@@ -722,7 +745,7 @@ error:
* --creating the HDF5 file
* --flushing the HDF5 file
* --opening an existing HDF5 file
- * It will call the internal testing routine
+ * It will call the internal testing routine
* H5F__vfd_swmr_writer_create_open_flush_test() to do the following:
* --Open the metadata file
* --Verify the file size is as expected (md_pages_reserved)
@@ -743,83 +766,85 @@ error:
static unsigned
test_writer_create_open_flush(void)
{
- hid_t fid = -1; /* File ID */
- hid_t fapl = -1; /* File access property list */
- hid_t fcpl = -1; /* File creation property list */
- H5F_vfd_swmr_config_t *my_config = NULL; /* Configuration for VFD SWMR */
+ hid_t fid = -1; /* File ID */
+ hid_t fapl = -1; /* File access property list */
+ hid_t fcpl = -1; /* File creation property list */
+ H5F_vfd_swmr_config_t *my_config = NULL; /* Configuration for VFD SWMR */
TESTING("Create/Open/Flush an HDF5 file for VFD SWMR");
/* Allocate memory for the configuration structure */
- if((my_config = HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
+ if ((my_config = HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
FAIL_STACK_ERROR;
/* Set up the VFD SWMR configuration + page buffering */
fapl = init_vfd_swmr_config_fapl(my_config, 1, 3, TRUE, 2, MD_FILENAME, 4096);
- if(fapl == H5I_INVALID_HID)
+ if (fapl == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
/* Create an HDF5 file with VFD SWMR configured */
- if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl)) < 0)
+ if ((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl)) < 0)
FAIL_STACK_ERROR;
/* Verify info in metadata file when creating the HDF5 file */
- if(H5F__vfd_swmr_writer_create_open_flush_test(fid, TRUE) < 0)
+ if (H5F__vfd_swmr_writer_create_open_flush_test(fid, TRUE) < 0)
FAIL_STACK_ERROR;
#ifdef LATER /* Will activate the test when flush is implemented */
/* Flush the HDF5 file */
- if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
+ if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
FAIL_STACK_ERROR
/* Verify info in metadata file when flushing the HDF5 file */
- if(H5F__vfd_swmr_writer_create_open_flush_test(fid, FALSE) < 0)
+ if (H5F__vfd_swmr_writer_create_open_flush_test(fid, FALSE) < 0)
FAIL_STACK_ERROR
#endif
/* Close the file */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
/* Re-open the file as VFD SWMR writer */
- if((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl)) < 0)
+ if ((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl)) < 0)
FAIL_STACK_ERROR;
/* Verify info in metadata file when reopening the HDF5 file */
- if(H5F__vfd_swmr_writer_create_open_flush_test(fid, FALSE) < 0)
+ if (H5F__vfd_swmr_writer_create_open_flush_test(fid, FALSE) < 0)
FAIL_STACK_ERROR;
/* Closing */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl) < 0)
+ if (H5Pclose(fapl) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
- if(my_config)
+ if (my_config)
HDfree(my_config);
PASSED();
return 0;
error:
- if(my_config)
+ if (my_config)
HDfree(my_config);
-
- H5E_BEGIN_TRY {
+
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl);
H5Pclose(fcpl);
H5Fclose(fid);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
return 1;
} /* test_writer_create_open_flush() */
@@ -833,17 +858,16 @@ decisleep(uint32_t tenths)
H5_nanosleep(nsec);
}
-
/*-------------------------------------------------------------------------
* Function: test_writer_md()
*
- * Purpose: Verify info in the metadata file after updating with the
+ * Purpose: Verify info in the metadata file after updating with the
* constructed index: (A), (B), (C), (D)
- * It will call the internal testing routine
+ * It will call the internal testing routine
* H5F__vfd_swmr_writer_md_test() to do the following:
* --Update the metadata file with the input index via the
* internal library routine H5F_update_vfd_swmr_metadata_file()
- * --Verify the entries in the delayed list is as expected:
+ * --Verify the entries in the delayed list is as expected:
* --num_dl_entries
* --Open the metadata file, read and decode the header and index
* --Verify header and index info just read from the metadata
@@ -860,169 +884,169 @@ decisleep(uint32_t tenths)
static unsigned
test_writer_md(void)
{
- hid_t fid = -1; /* File ID */
- hid_t fapl = -1; /* File access property list */
- hid_t fcpl = -1; /* File creation property list */
- const unsigned num_entries = 10; /* index size */
- unsigned i = 0; /* Local index variables */
- uint8_t *buf = NULL; /* Data page from the page buffer */
- hid_t dcpl = -1; /* Dataset creation property list */
- hid_t sid = -1; /* Dataspace ID */
- hid_t did = -1; /* Dataset ID */
- int *rwbuf = NULL; /* Data buffer for writing */
- H5O_info_t oinfo; /* Object metadata information */
- char dname[100]; /* Name of dataset */
- hsize_t dims[2] = {50, 20}; /* Dataset dimension sizes */
- hsize_t max_dims[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* Dataset maximum dimension sizes */
- hsize_t chunk_dims[2] = {2, 5}; /* Dataset chunked dimension sizes */
- H5FD_vfd_swmr_idx_entry_t *index = NULL; /* Pointer to the index entries */
- H5F_vfd_swmr_config_t *my_config = NULL; /* Configuration for VFD SWMR */
+ hid_t fid = -1; /* File ID */
+ hid_t fapl = -1; /* File access property list */
+ hid_t fcpl = -1; /* File creation property list */
+ const unsigned num_entries = 10; /* index size */
+ unsigned i = 0; /* Local index variables */
+ uint8_t * buf = NULL; /* Data page from the page buffer */
+ hid_t dcpl = -1; /* Dataset creation property list */
+ hid_t sid = -1; /* Dataspace ID */
+ hid_t did = -1; /* Dataset ID */
+ int * rwbuf = NULL; /* Data buffer for writing */
+ H5O_info_t oinfo; /* Object metadata information */
+ char dname[100]; /* Name of dataset */
+ hsize_t dims[2] = {50, 20}; /* Dataset dimension sizes */
+ hsize_t max_dims[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* Dataset maximum dimension sizes */
+ hsize_t chunk_dims[2] = {2, 5}; /* Dataset chunked dimension sizes */
+ H5FD_vfd_swmr_idx_entry_t *index = NULL; /* Pointer to the index entries */
+ H5F_vfd_swmr_config_t * my_config = NULL; /* Configuration for VFD SWMR */
TESTING("Verify the metadata file for VFD SWMR writer");
/* Allocate memory for the configuration structure */
- if((my_config = HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
+ if ((my_config = HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL)
FAIL_STACK_ERROR;
/* Set up the VFD SWMR configuration + page buffering */
fapl = init_vfd_swmr_config_fapl(my_config, 1, 3, TRUE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl == H5I_INVALID_HID)
+ if (fapl == H5I_INVALID_HID)
FAIL_STACK_ERROR
-
+
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
- if(H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
+ if (H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
FAIL_STACK_ERROR;
/* Create an HDF5 file with VFD SWMR configured */
- if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl)) < 0)
+ if ((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl)) < 0)
FAIL_STACK_ERROR;
/* Allocate num_entries for the data buffer */
- if((buf = HDcalloc(num_entries, FS_PAGE_SIZE)) == NULL)
+ if ((buf = HDcalloc(num_entries, FS_PAGE_SIZE)) == NULL)
FAIL_STACK_ERROR;
/* Allocate memory for num_entries index */
index = HDcalloc(num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t));
- if(NULL == index)
+ if (NULL == index)
FAIL_STACK_ERROR;
/* (A) Construct index for updating the metadata file */
- for(i = 0; i < num_entries; i++) {
- index[i].hdf5_page_offset = 3 + 7 * i;
+ for (i = 0; i < num_entries; i++) {
+ index[i].hdf5_page_offset = 3 + 7 * i;
index[i].md_file_page_offset = 1 + (num_entries - i) * 5;
- index[i].length = (uint32_t)FS_PAGE_SIZE;
- index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
+ index[i].length = (uint32_t)FS_PAGE_SIZE;
+ index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
}
/* Update with index and verify info in the metadata file */
/* Also verify that 0 entries will be on the delayed list */
- if(H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 0) < 0)
+ if (H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 0) < 0)
TEST_ERROR
/* Create dataset creation property list */
- if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set to use chunked dataset */
- if(H5Pset_chunk(dcpl, 2, chunk_dims) < 0)
+ if (H5Pset_chunk(dcpl, 2, chunk_dims) < 0)
FAIL_STACK_ERROR
/* Create dataspace */
- if((sid = H5Screate_simple(2, dims, max_dims)) < 0)
+ if ((sid = H5Screate_simple(2, dims, max_dims)) < 0)
FAIL_STACK_ERROR
/* Perform activities to ensure that max_lag ticks elapse */
- for(i = 0; i < my_config->max_lag + 1; i++) {
+ for (i = 0; i < my_config->max_lag + 1; i++) {
decisleep(my_config->tick_len);
/* Create a chunked dataset */
HDsprintf(dname, "dset %d", i);
- if((did = H5Dcreate2(fid, dname, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
+ if ((did = H5Dcreate2(fid, dname, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR
/* Get dataset object header address */
- if(H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
+ if (H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
FAIL_STACK_ERROR
/* Close the dataset */
- if(H5Dclose(did) < 0)
+ if (H5Dclose(did) < 0)
FAIL_STACK_ERROR
}
/* (B) Update every other entry in the index */
- for(i = 0; i < num_entries; i+= 2)
+ for (i = 0; i < num_entries; i += 2)
index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
/* Update with index and verify info in the metadata file */
/* Also verify that 5 entries will be on the delayed list */
- if(H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 5) < 0)
+ if (H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 5) < 0)
TEST_ERROR
/* Allocate memory for the read/write buffer */
- if((rwbuf = HDmalloc(sizeof(*rwbuf) * (50 * 20))) == NULL)
+ if ((rwbuf = HDmalloc(sizeof(*rwbuf) * (50 * 20))) == NULL)
FAIL_STACK_ERROR;
- for(i = 0; i < (50 * 20); i++)
+ for (i = 0; i < (50 * 20); i++)
rwbuf[i] = (int)i;
/* Perform activities to ensure that max_lag ticks elapse */
- for(i = 0; i < my_config->max_lag + 1; i++) {
+ for (i = 0; i < my_config->max_lag + 1; i++) {
decisleep(my_config->tick_len);
/* Open the dataset */
HDsprintf(dname, "dset %d", i);
- if((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0)
+ if ((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR
/* Write to the dataset */
- if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0)
+ if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0)
FAIL_STACK_ERROR
/* Get dataset object info */
- if(H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
+ if (H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
FAIL_STACK_ERROR
/* Close the dataset */
- if(H5Dclose(did) < 0)
+ if (H5Dclose(did) < 0)
FAIL_STACK_ERROR
}
/* (C) Update every 3 entry in the index */
- for(i = 0; i < num_entries; i+= 3)
+ for (i = 0; i < num_entries; i += 3)
index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
/* Update with index and verify info in the metadata file */
/* Also verify that 4 entries will be on the delayed list */
- if(H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 4) < 0)
+ if (H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 4) < 0)
TEST_ERROR
/* Clear the read/write buffer */
HDmemset(rwbuf, 0, sizeof(sizeof(int) * (50 * 20)));
/* Perform activities to ensure that max_lag ticks elapse */
- for(i = 0; i < my_config->max_lag + 1; i++) {
+ for (i = 0; i < my_config->max_lag + 1; i++) {
decisleep(my_config->tick_len);
/* Open the dataset */
HDsprintf(dname, "dset %d", i);
- if((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0)
+ if ((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR
/* Read from the dataset */
- if(H5Dread(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0)
+ if (H5Dread(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0)
FAIL_STACK_ERROR
/* Get dataset object info */
- if(H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
+ if (H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
FAIL_STACK_ERROR
/* Close the dataset */
- if(H5Dclose(did) < 0)
+ if (H5Dclose(did) < 0)
FAIL_STACK_ERROR
}
@@ -1032,52 +1056,54 @@ test_writer_md(void)
/* Update with index and verify info in the metadata file */
/* Also verify that 2 entries will be on the delayed list */
- if(H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 2) < 0)
+ if (H5F__vfd_swmr_writer_md_test(fid, num_entries, index, 2) < 0)
TEST_ERROR
/* Closing */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
- if(H5Sclose(sid) < 0)
+ if (H5Sclose(sid) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(dcpl) < 0)
+ if (H5Pclose(dcpl) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl) < 0)
+ if (H5Pclose(fapl) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free resources */
- if(my_config)
+ if (my_config)
HDfree(my_config);
- if(buf)
+ if (buf)
HDfree(buf);
- if(rwbuf)
+ if (rwbuf)
HDfree(rwbuf);
- if(index)
+ if (index)
HDfree(index);
PASSED();
return 0;
error:
- if(my_config)
+ if (my_config)
HDfree(my_config);
- if(buf)
+ if (buf)
HDfree(buf);
- if(rwbuf)
+ if (rwbuf)
HDfree(rwbuf);
- if(index)
+ if (index)
HDfree(index);
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Dclose(did);
H5Sclose(sid);
H5Pclose(dcpl);
H5Pclose(fapl);
H5Pclose(fcpl);
H5Fclose(fid);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
return 1;
} /* test_writer__md() */
@@ -1104,7 +1130,7 @@ test_multiple_file_opens_concur(void)
HDputs(" Test skipped (unistd.h not present)");
return 0;
-} /* test_multiple_file_opens_concur() */
+} /* test_multiple_file_opens_concur() */
static unsigned
test_disable_enable_eot_concur(void)
@@ -1133,7 +1159,7 @@ test_file_end_tick_concur(void)
/*-------------------------------------------------------------------------
* Function: test_reader_md_concur()
*
- * Purpose: Verify metadata file info updated by the writer is
+ * Purpose: Verify metadata file info updated by the writer is
* what the reader obtained from the metadata file:
* --Cases (A), (B), (C), (D), (E)
* NOTE: Changes for page buffering/cache are not in place yet.
@@ -1150,571 +1176,555 @@ test_file_end_tick_concur(void)
static unsigned
test_reader_md_concur(void)
{
- unsigned i = 0; /* Local index variables */
- uint8_t *buf = NULL; /* Data page from the page buffer */
- hid_t dcpl = -1; /* Dataset creation property list */
- hid_t sid = -1; /* Dataspace ID */
- hid_t did = -1; /* Dataset ID */
- int *rwbuf = NULL; /* Data buffer for writing */
- H5O_info_t oinfo; /* Object metadata information */
- char dname[100]; /* Name of dataset */
- hsize_t dims[2] = {50, 20}; /* Dataset dimension sizes */
- hsize_t max_dims[2] = /* Dataset maximum dimension sizes */
+ unsigned i = 0; /* Local index variables */
+ uint8_t * buf = NULL; /* Data page from the page buffer */
+ hid_t dcpl = -1; /* Dataset creation property list */
+ hid_t sid = -1; /* Dataspace ID */
+ hid_t did = -1; /* Dataset ID */
+ int * rwbuf = NULL; /* Data buffer for writing */
+ H5O_info_t oinfo; /* Object metadata information */
+ char dname[100]; /* Name of dataset */
+ hsize_t dims[2] = {50, 20}; /* Dataset dimension sizes */
+ hsize_t max_dims[2] = /* Dataset maximum dimension sizes */
{H5S_UNLIMITED, H5S_UNLIMITED};
- hsize_t chunk_dims[2] = {2, 5}; /* Dataset chunked dimension sizes */
- unsigned num_entries = 0 ; /* Number of entries in the index */
- H5FD_vfd_swmr_idx_entry_t *index = NULL; /* Pointer to the index entries */
-
- hid_t fcpl = -1; /* File creation property list */
- hid_t fid_writer = -1; /* File ID for writer */
- hid_t fapl_writer = -1; /* File access property list for writer */
- H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR Configuration for writer */
- pid_t tmppid; /* Child process ID returned by waitpid */
- pid_t childpid = 0; /* Child process ID */
- int child_status; /* Status passed to waitpid */
- int child_wait_option=0; /* Options passed to waitpid */
- int child_exit_val; /* Exit status of the child */
-
- int parent_pfd[2]; /* Pipe for parent process as writer */
- int child_pfd[2]; /* Pipe for child process as reader */
- int notify = 0; /* Notification between parent and child */
- H5F_t *file_writer; /* File pointer for writer */
+ hsize_t chunk_dims[2] = {2, 5}; /* Dataset chunked dimension sizes */
+ unsigned num_entries = 0; /* Number of entries in the index */
+ H5FD_vfd_swmr_idx_entry_t *index = NULL; /* Pointer to the index entries */
+
+ hid_t fcpl = -1; /* File creation property list */
+ hid_t fid_writer = -1; /* File ID for writer */
+ hid_t fapl_writer = -1; /* File access property list for writer */
+ H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR Configuration for writer */
+ pid_t tmppid; /* Child process ID returned by waitpid */
+ pid_t childpid = 0; /* Child process ID */
+ int child_status; /* Status passed to waitpid */
+ int child_wait_option = 0; /* Options passed to waitpid */
+ int child_exit_val; /* Exit status of the child */
+
+ int parent_pfd[2]; /* Pipe for parent process as writer */
+ int child_pfd[2]; /* Pipe for child process as reader */
+ int notify = 0; /* Notification between parent and child */
+ H5F_t *file_writer; /* File pointer for writer */
TESTING("Verify the metadata file for VFD SWMR reader");
/* Allocate memory for the configuration structure */
- if((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
+ if ((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
FAIL_STACK_ERROR;
/* Set up the VFD SWMR configuration + page buffering */
fapl_writer = init_vfd_swmr_config_fapl(config_writer, 1, 3, TRUE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl_writer == H5I_INVALID_HID)
+ if (fapl_writer == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
- if(H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
+ if (H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
FAIL_STACK_ERROR;
/* Create an HDF5 file with VFD SWMR configured */
- if((fid_writer = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl_writer)) < 0)
+ if ((fid_writer = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl_writer)) < 0)
FAIL_STACK_ERROR;
/* Close the file */
- if(H5Fclose(fid_writer) < 0)
+ if (H5Fclose(fid_writer) < 0)
FAIL_STACK_ERROR;
/* Create 2 pipes */
- if(HDpipe(parent_pfd) < 0)
+ if (HDpipe(parent_pfd) < 0)
FAIL_STACK_ERROR
- if(HDpipe(child_pfd) < 0)
+ if (HDpipe(child_pfd) < 0)
FAIL_STACK_ERROR
/* Fork child process */
- if((childpid = HDfork()) < 0)
+ if ((childpid = HDfork()) < 0)
FAIL_STACK_ERROR
/*
* Child process as reader
*/
- if(childpid == 0) {
- int child_notify = 0; /* Notification between child and parent */
- hid_t fid_reader = -1; /* File ID for reader */
- hid_t fapl_reader = -1; /* File access property list for reader */
- H5F_t *file_reader; /* File pointer for reader */
- H5F_vfd_swmr_config_t *config_reader = NULL; /* VFD SWMR configuration for reader */
- unsigned child_num_entries = 0; /* Number of entries passed to reader */
- H5FD_vfd_swmr_idx_entry_t *child_index = NULL; /* Index passed to reader */
+ if (childpid == 0) {
+ int child_notify = 0; /* Notification between child and parent */
+ hid_t fid_reader = -1; /* File ID for reader */
+ hid_t fapl_reader = -1; /* File access property list for reader */
+ H5F_t * file_reader; /* File pointer for reader */
+ H5F_vfd_swmr_config_t * config_reader = NULL; /* VFD SWMR configuration for reader */
+ unsigned child_num_entries = 0; /* Number of entries passed to reader */
+ H5FD_vfd_swmr_idx_entry_t *child_index = NULL; /* Index passed to reader */
/* Close unused write end for writer pipe */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
/* Close unused read end for reader pipe */
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
/* Free unused configuration */
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
- /*
+ /*
* Case A: reader
- * --verify an empty index
+ * --verify an empty index
*/
/* Wait for notification 1 from parent to start verification */
- while(child_notify != 1) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 1) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Allocate memory for the configuration structure */
- if((config_reader = HDmalloc(sizeof(*config_reader))) == NULL)
+ if ((config_reader = HDmalloc(sizeof(*config_reader))) == NULL)
HDexit(EXIT_FAILURE);
/* Set up the VFD SWMR configuration as reader + page buffering */
fapl_reader = init_vfd_swmr_config_fapl(config_reader, 1, 3, FALSE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl_reader == H5I_INVALID_HID)
+ if (fapl_reader == H5I_INVALID_HID)
HDexit(EXIT_FAILURE);
/* Open the test file as reader */
- if((fid_reader = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
+ if ((fid_reader = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
HDexit(EXIT_FAILURE);
/* Get file pointer */
file_reader = H5VL_object(fid_reader);
/* Read and verify header and an empty index in the metadata file */
- if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, 0, NULL) < 0)
+ if (H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, 0, NULL) < 0)
HDexit(EXIT_FAILURE);
/* Send notification 2 to parent that the verification is complete */
child_notify = 2;
- if(HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
+ if (HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
- /*
+ /*
* Case B: reader
* --verify index as sent from writer
*/
/* Wait for notification 3 from parent to start verification */
- while(child_notify != 3) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 3) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Read num_entries from writer pipe */
- if(HDread(parent_pfd[0], &child_num_entries, sizeof(int)) < 0)
+ if (HDread(parent_pfd[0], &child_num_entries, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
-
+
/* Free previous index */
- if(child_index)
+ if (child_index)
HDfree(child_index);
- if(child_num_entries) {
+ if (child_num_entries) {
/* Allocate memory for num_entries index */
- if((child_index = HDcalloc(child_num_entries,
- sizeof(*child_index))) == NULL)
+ if ((child_index = HDcalloc(child_num_entries, sizeof(*child_index))) == NULL)
HDexit(EXIT_FAILURE);
/* Read index from writer pipe */
- if(HDread(parent_pfd[0], child_index,
- child_num_entries * sizeof(*child_index)) < 0)
+ if (HDread(parent_pfd[0], child_index, child_num_entries * sizeof(*child_index)) < 0)
HDexit(EXIT_FAILURE);
}
- /* Read and verify the expected header and index info in the
- * metadata file
- */
- if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf,
- child_num_entries, child_index) < 0)
+ /* Read and verify the expected header and index info in the
+ * metadata file
+ */
+ if (H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, child_num_entries, child_index) < 0)
HDexit(EXIT_FAILURE);
/* Send notification 4 to parent that the verification is complete */
child_notify = 4;
- if(HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
+ if (HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
- /*
+ /*
* Case C: reader
* --verify index as sent from writer
*/
/* Wait for notification 5 from parent to start verification */
- while(child_notify != 5) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 5) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Read num_entries from writer pipe */
- if(HDread(parent_pfd[0], &child_num_entries, sizeof(int)) < 0)
+ if (HDread(parent_pfd[0], &child_num_entries, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
-
+
/* Free previous index */
- if(child_index)
+ if (child_index)
HDfree(child_index);
- if(child_num_entries) {
+ if (child_num_entries) {
/* Allocate memory for num_entries index */
- if((child_index = (H5FD_vfd_swmr_idx_entry_t *)
- HDcalloc(child_num_entries,
- sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL)
+ if ((child_index = (H5FD_vfd_swmr_idx_entry_t *)HDcalloc(
+ child_num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL)
HDexit(EXIT_FAILURE);
/* Read index from writer pipe */
- if(HDread(parent_pfd[0], child_index,
- child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
+ if (HDread(parent_pfd[0], child_index, child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
HDexit(EXIT_FAILURE);
}
- /* Read and verify the expected header and index info in the
- * metadata file
+ /* Read and verify the expected header and index info in the
+ * metadata file
*/
- if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf,
- child_num_entries, child_index) < 0)
+ if (H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, child_num_entries, child_index) < 0)
HDexit(EXIT_FAILURE);
/* Send notification 6 to parent that the verification is complete */
child_notify = 6;
- if(HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
+ if (HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
- /*
+ /*
* Case D: reader
* --verify index as sent from writer
*/
/* Wait for notification 7 from parent to start verification */
- while(child_notify != 7) {
+ while (child_notify != 7) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Read num_entries from writer pipe */
- if(HDread(parent_pfd[0], &child_num_entries, sizeof(int)) < 0)
+ if (HDread(parent_pfd[0], &child_num_entries, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
-
+
/* Free previous index */
- if(child_index)
+ if (child_index)
HDfree(child_index);
- if(child_num_entries) {
+ if (child_num_entries) {
/* Allocate memory for num_entries index */
- if((child_index = (H5FD_vfd_swmr_idx_entry_t *)
- HDcalloc(child_num_entries,
- sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL)
+ if ((child_index = (H5FD_vfd_swmr_idx_entry_t *)HDcalloc(
+ child_num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL)
HDexit(EXIT_FAILURE);
/* Read index from writer pipe */
- if(HDread(parent_pfd[0], child_index,
- child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
+ if (HDread(parent_pfd[0], child_index, child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
HDexit(EXIT_FAILURE);
}
- /* Read and verify the expected header and index info in the
- * metadata file
+ /* Read and verify the expected header and index info in the
+ * metadata file
*/
- if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf,
- child_num_entries, child_index) < 0)
+ if (H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, child_num_entries, child_index) < 0)
HDexit(EXIT_FAILURE);
/* Send notification 8 to parent that the verification is complete */
child_notify = 8;
- if(HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
+ if (HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
- /*
+ /*
* Case E: reader
- * --verify an empty index
+ * --verify an empty index
*/
/* Wait for notification 9 from parent to start verification */
- while(child_notify != 9) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 9) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Read and verify header and an empty index in the metadata file */
- if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, 0, NULL) < 0)
+ if (H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, 0, NULL) < 0)
HDexit(EXIT_FAILURE);
/* Free resources */
- if(child_index)
+ if (child_index)
HDfree(child_index);
- if(config_reader)
+ if (config_reader)
HDfree(config_reader);
/* Closing */
- if(H5Fclose(fid_reader) < 0)
+ if (H5Fclose(fid_reader) < 0)
HDexit(EXIT_FAILURE);
- if(H5Pclose(fapl_reader) < 0)
+ if (H5Pclose(fapl_reader) < 0)
HDexit(EXIT_FAILURE);
/* Close the pipes */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
HDexit(EXIT_SUCCESS);
} /* end child process */
- /*
+ /*
* Parent process as writer
*/
/* Close unused read end for writer pipe */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
FAIL_STACK_ERROR
/* Close unused write end for reader pipe */
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
FAIL_STACK_ERROR
- /*
+ /*
* Case A: writer
* --open the file as VFD SWMR writer
*/
/* Open as VFD SWMR writer */
- if((fid_writer = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl_writer)) < 0)
+ if ((fid_writer = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl_writer)) < 0)
FAIL_STACK_ERROR;
/* Send notification 1 to reader to start verfication */
notify = 1;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
- /*
+ /*
* Case B: writer
* --create datasets to ensure ticks elapse
- * --construct 12 entries in the index
+ * --construct 12 entries in the index
* --update the metadata file with the index
*/
/* Wait for notification 2 from reader that the verifcation is complete */
- while(notify != 2) {
- if(HDread(child_pfd[0], &notify, sizeof(int)) < 0)
+ while (notify != 2) {
+ if (HDread(child_pfd[0], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
}
/* Create dataset creation property list */
- if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set to use chunked dataset */
- if(H5Pset_chunk(dcpl, 2, chunk_dims) < 0)
+ if (H5Pset_chunk(dcpl, 2, chunk_dims) < 0)
FAIL_STACK_ERROR
/* Create dataspace */
- if((sid = H5Screate_simple(2, dims, max_dims)) < 0)
+ if ((sid = H5Screate_simple(2, dims, max_dims)) < 0)
FAIL_STACK_ERROR
/* Perform activities to ensure that ticks elapse */
- for(i = 0; i < config_writer->max_lag + 1; i++) {
+ for (i = 0; i < config_writer->max_lag + 1; i++) {
decisleep(config_writer->tick_len);
/* Create a chunked dataset */
HDsprintf(dname, "dset %d", i);
- if((did = H5Dcreate2(fid_writer, dname, H5T_NATIVE_INT, sid,
- H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
+ if ((did = H5Dcreate2(fid_writer, dname, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR
/* Get dataset object header address */
- if(H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
+ if (H5Oget_info(did, &oinfo, H5O_INFO_BASIC) < 0)
FAIL_STACK_ERROR
/* Close the dataset */
- if(H5Dclose(did) < 0)
+ if (H5Dclose(did) < 0)
FAIL_STACK_ERROR
}
num_entries = 12;
/* Allocate num_entries for the data buffer */
- if((buf = HDcalloc(num_entries, FS_PAGE_SIZE)) == NULL)
+ if ((buf = HDcalloc(num_entries, FS_PAGE_SIZE)) == NULL)
FAIL_STACK_ERROR;
/* Allocate memory for num_entries index */
index = HDcalloc(num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t));
- if(NULL == index)
+ if (NULL == index)
FAIL_STACK_ERROR;
/* Construct index for updating the metadata file */
- for(i = 0; i < num_entries; i++) {
- index[i].hdf5_page_offset = 3 + 7 * i;
+ for (i = 0; i < num_entries; i++) {
+ index[i].hdf5_page_offset = 3 + 7 * i;
index[i].md_file_page_offset = 1 + (num_entries - i) * 5;
- index[i].length = (uint32_t)FS_PAGE_SIZE;
- index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
+ index[i].length = (uint32_t)FS_PAGE_SIZE;
+ index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
}
/* Get the file pointer */
file_writer = H5VL_object(fid_writer);
/* Update the metadata file with the index */
- if(H5F_update_vfd_swmr_metadata_file(file_writer, num_entries, index) < 0)
+ if (H5F_update_vfd_swmr_metadata_file(file_writer, num_entries, index) < 0)
TEST_ERROR;
/* Send notification 3 to child to start verification */
notify = 3;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Send num_entries to the reader */
- if(HDwrite(parent_pfd[1], &num_entries, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &num_entries, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Send index to the reader */
- if(HDwrite(parent_pfd[1], index,
- num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
+ if (HDwrite(parent_pfd[1], index, num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
FAIL_STACK_ERROR;
- /*
+ /*
* Case C: writer
* --write to the datasets to ensure ticks elapse
- * --update 3 entries in the index
+ * --update 3 entries in the index
* --update the metadata file with the index
*/
/* Wait for notification 4 from reader that the verifcation is complete */
- while(notify != 4) {
- if(HDread(child_pfd[0], &notify, sizeof(int)) < 0)
+ while (notify != 4) {
+ if (HDread(child_pfd[0], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
}
/* Allocate memory for the read/write buffer */
- if((rwbuf = HDmalloc(sizeof(*rwbuf) * (50 * 20))) == NULL)
+ if ((rwbuf = HDmalloc(sizeof(*rwbuf) * (50 * 20))) == NULL)
FAIL_STACK_ERROR;
- for(i = 0; i < (50 * 20); i++)
+ for (i = 0; i < (50 * 20); i++)
rwbuf[i] = (int)i;
/* Perform activities to ensure that max_lag ticks elapse */
- for(i = 0; i < config_writer->max_lag + 1; i++) {
+ for (i = 0; i < config_writer->max_lag + 1; i++) {
decisleep(config_writer->tick_len);
/* Open the dataset */
HDsprintf(dname, "dset %d", i);
- if((did = H5Dopen2(fid_writer, dname, H5P_DEFAULT)) < 0)
+ if ((did = H5Dopen2(fid_writer, dname, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR
/* Write to the dataset */
- if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rwbuf) < 0)
+ if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0)
FAIL_STACK_ERROR
/* Close the dataset */
- if(H5Dclose(did) < 0)
+ if (H5Dclose(did) < 0)
FAIL_STACK_ERROR
}
/* Update 3 entries in the index */
num_entries = 3;
- for(i = 0; i < num_entries; i++)
+ for (i = 0; i < num_entries; i++)
index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
-
+
/* Update the metadata file with the index */
- if(H5F_update_vfd_swmr_metadata_file(file_writer, num_entries, index) < 0)
+ if (H5F_update_vfd_swmr_metadata_file(file_writer, num_entries, index) < 0)
TEST_ERROR;
/* Send notification 5 to reader to start verification */
notify = 5;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Send num_entries to the reader */
- if(HDwrite(parent_pfd[1], &num_entries, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &num_entries, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Send index to the reader */
- if(HDwrite(parent_pfd[1], index,
- num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
+ if (HDwrite(parent_pfd[1], index, num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
FAIL_STACK_ERROR;
- /*
+ /*
* Case D: writer
* --read from the datasets to ensure ticks elapse
- * --update 5 entries in the index
+ * --update 5 entries in the index
* --update the metadata file with the index
*/
/* Wait for notification 6 from reader that the verifcation is complete */
- while(notify != 6) {
- if(HDread(child_pfd[0], &notify, sizeof(int)) < 0)
+ while (notify != 6) {
+ if (HDread(child_pfd[0], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
}
/* Perform activities to ensure that max_lag ticks elapse */
- for(i = 0; i < config_writer->max_lag + 1; i++) {
+ for (i = 0; i < config_writer->max_lag + 1; i++) {
decisleep(config_writer->tick_len);
/* Open the dataset */
HDsprintf(dname, "dset %d", i);
- if((did = H5Dopen2(fid_writer, dname, H5P_DEFAULT)) < 0)
+ if ((did = H5Dopen2(fid_writer, dname, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR
/* Read from the dataset */
- if(H5Dread(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rwbuf) < 0)
+ if (H5Dread(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0)
FAIL_STACK_ERROR
/* Close the dataset */
- if(H5Dclose(did) < 0)
+ if (H5Dclose(did) < 0)
FAIL_STACK_ERROR
}
/* Update 5 entries in the index */
num_entries = 5;
- for(i = 0; i < num_entries; i++)
+ for (i = 0; i < num_entries; i++)
index[i].entry_ptr = &buf[i * FS_PAGE_SIZE];
-
+
/* Update the metadata file with the index */
- if(H5F_update_vfd_swmr_metadata_file(file_writer, num_entries, index) < 0)
+ if (H5F_update_vfd_swmr_metadata_file(file_writer, num_entries, index) < 0)
TEST_ERROR;
/* Send notification 7 to reader to start verification */
notify = 7;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Send num_entries to the reader */
- if(HDwrite(parent_pfd[1], &num_entries, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &num_entries, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Send index to the reader */
- if(HDwrite(parent_pfd[1], index,
- num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
+ if (HDwrite(parent_pfd[1], index, num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0)
FAIL_STACK_ERROR;
- /*
+ /*
* Case E: writer
* --write to the datasets again to ensure ticks elapse
* --update the metadata file with an empty index
*/
/* Wait for notification 8 from reader that the verifcation is complete */
- while(notify != 8) {
- if(HDread(child_pfd[0], &notify, sizeof(int)) < 0)
+ while (notify != 8) {
+ if (HDread(child_pfd[0], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
}
/* Perform activities to ensure that ticks elapse */
- for(i = 0; i < config_writer->max_lag + 1; i++) {
+ for (i = 0; i < config_writer->max_lag + 1; i++) {
decisleep(config_writer->tick_len);
/* Open the dataset */
HDsprintf(dname, "dset %d", i);
- if((did = H5Dopen2(fid_writer, dname, H5P_DEFAULT)) < 0)
+ if ((did = H5Dopen2(fid_writer, dname, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR
/* Write to the dataset */
- if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rwbuf) < 0)
+ if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0)
FAIL_STACK_ERROR
/* Close the dataset */
- if(H5Dclose(did) < 0)
+ if (H5Dclose(did) < 0)
FAIL_STACK_ERROR
}
/* Update the metadata file with 0 entries and NULL index */
- if(H5F_update_vfd_swmr_metadata_file(file_writer, 0, NULL) < 0)
+ if (H5F_update_vfd_swmr_metadata_file(file_writer, 0, NULL) < 0)
TEST_ERROR;
/* Send notification 8 to reader to start verification */
notify = 9;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/*
@@ -1722,64 +1732,66 @@ test_reader_md_concur(void)
*/
/* Close the pipes */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
FAIL_STACK_ERROR;
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
FAIL_STACK_ERROR;
/* Wait for child process to complete */
- if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
+ if ((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
FAIL_STACK_ERROR
/* Check exit status of child process */
- if(WIFEXITED(child_status)) {
- if((child_exit_val = WEXITSTATUS(child_status)) != 0)
+ if (WIFEXITED(child_status)) {
+ if ((child_exit_val = WEXITSTATUS(child_status)) != 0)
TEST_ERROR
- } else { /* child process terminated abnormally */
+ }
+ else { /* child process terminated abnormally */
TEST_ERROR
}
/* Closing */
- if(H5Fclose(fid_writer) < 0)
+ if (H5Fclose(fid_writer) < 0)
FAIL_STACK_ERROR
- if(H5Pclose(fapl_writer) < 0)
+ if (H5Pclose(fapl_writer) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free resources */
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
- if(buf)
+ if (buf)
HDfree(buf);
- if(rwbuf)
+ if (rwbuf)
HDfree(rwbuf);
- if(index)
+ if (index)
HDfree(index);
PASSED();
return 0;
error:
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
- if(buf)
+ if (buf)
HDfree(buf);
- if(rwbuf)
+ if (rwbuf)
HDfree(rwbuf);
- if(index)
+ if (index)
HDfree(index);
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl_writer);
H5Fclose(fid_writer);
H5Pclose(fcpl);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
return 1;
} /* test_reader_md_concur() */
-
/*-------------------------------------------------------------------------
* Function: test_multiple_file_opens_concur()
*
@@ -1796,225 +1808,223 @@ error:
static unsigned
test_multiple_file_opens_concur(void)
{
- hid_t fcpl = H5I_INVALID_HID;
- pid_t tmppid; /* Child process ID returned by waitpid */
- pid_t childpid = 0; /* Child process ID */
- int child_status; /* Status passed to waitpid */
- int child_wait_option=0; /* Options passed to waitpid */
- int child_exit_val; /* Exit status of the child */
- int parent_pfd[2]; /* Pipe for parent process as writer */
- int child_pfd[2]; /* Pipe for child process as reader */
- int notify = 0; /* Notification between parent and child */
- hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID;
- hid_t fapl1 = H5I_INVALID_HID, fapl2 = H5I_INVALID_HID;
- H5F_vfd_swmr_config_t *config1 = NULL; /* VFD SWMR configuration */
- H5F_vfd_swmr_config_t *config2 = NULL; /* VFD SWMR configuration */
- H5F_t *f1, *f2; /* File pointer */
- eot_queue_entry_t *curr;
+ hid_t fcpl = H5I_INVALID_HID;
+ pid_t tmppid; /* Child process ID returned by waitpid */
+ pid_t childpid = 0; /* Child process ID */
+ int child_status; /* Status passed to waitpid */
+ int child_wait_option = 0; /* Options passed to waitpid */
+ int child_exit_val; /* Exit status of the child */
+ int parent_pfd[2]; /* Pipe for parent process as writer */
+ int child_pfd[2]; /* Pipe for child process as reader */
+ int notify = 0; /* Notification between parent and child */
+ hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID;
+ hid_t fapl1 = H5I_INVALID_HID, fapl2 = H5I_INVALID_HID;
+ H5F_vfd_swmr_config_t *config1 = NULL; /* VFD SWMR configuration */
+ H5F_vfd_swmr_config_t *config2 = NULL; /* VFD SWMR configuration */
+ H5F_t * f1, *f2; /* File pointer */
+ eot_queue_entry_t * curr;
TESTING("EOT queue entries when opening files concurrently with VFD SWMR");
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
- if(H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
+ if (H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
FAIL_STACK_ERROR;
/* Create file A */
- if((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0)
+ if ((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR;
/* Close the file */
- if(H5Fclose(fid1) < 0)
+ if (H5Fclose(fid1) < 0)
FAIL_STACK_ERROR;
/* Create file B */
- if((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0)
+ if ((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0)
FAIL_STACK_ERROR;
/* Close the file */
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
/* Create 2 pipes */
- if(HDpipe(parent_pfd) < 0)
+ if (HDpipe(parent_pfd) < 0)
FAIL_STACK_ERROR
- if(HDpipe(child_pfd) < 0)
+ if (HDpipe(child_pfd) < 0)
FAIL_STACK_ERROR
/* Fork child process */
- if((childpid = HDfork()) < 0)
+ if ((childpid = HDfork()) < 0)
FAIL_STACK_ERROR
/*
* Child process
*/
- if(childpid == 0) {
- int child_notify = 0; /* Notification between child and parent */
- hid_t fid_writer = -1; /* File ID for writer */
- hid_t fapl_writer = -1; /* File access property list for writer */
- H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR configuration for reader */
+ if (childpid == 0) {
+ int child_notify = 0; /* Notification between child and parent */
+ hid_t fid_writer = -1; /* File ID for writer */
+ hid_t fapl_writer = -1; /* File access property list for writer */
+ H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR configuration for reader */
/* Close unused write end for writer pipe */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
/* Close unused read end for reader pipe */
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
- /*
+ /*
* Set up and open file B as VFD SWMR writer
*/
/* Wait for notification 1 from parent before opening file B */
- while(child_notify != 1) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 1) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Allocate memory for VFD SMWR configuration */
- if((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
+ if ((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
HDexit(EXIT_FAILURE);
-
/* Set the VFD SWMR configuration in fapl_writer + page buffering */
fapl_writer = init_vfd_swmr_config_fapl(config_writer, 1, 3, TRUE, 256, MD_FILENAME2, FS_PAGE_SIZE);
- if(fapl_writer == H5I_INVALID_HID)
+ if (fapl_writer == H5I_INVALID_HID)
HDexit(EXIT_FAILURE);
/* Open file B as VFD SWMR writer */
- if((fid_writer = H5Fopen(FILENAME2, H5F_ACC_RDWR, fapl_writer)) < 0)
+ if ((fid_writer = H5Fopen(FILENAME2, H5F_ACC_RDWR, fapl_writer)) < 0)
HDexit(EXIT_FAILURE);
/* Send notification 2 to parent that file B is open */
child_notify = 2;
- if(HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
+ if (HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
/* Wait for notification 3 from parent before closing file B */
- while(child_notify != 3) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 3) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
- if(config_writer )
+ if (config_writer)
HDfree(config_writer);
/* Close the file */
- if(H5Fclose(fid_writer) < 0)
+ if (H5Fclose(fid_writer) < 0)
HDexit(EXIT_FAILURE);
- if(H5Pclose(fapl_writer) < 0)
+ if (H5Pclose(fapl_writer) < 0)
HDexit(EXIT_FAILURE);
/* Send notification 4 to parent that file B is closed */
child_notify = 4;
- if(HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
+ if (HDwrite(child_pfd[1], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
/* Close the pipes */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
HDexit(EXIT_SUCCESS);
} /* end child process */
- /*
+ /*
* Parent process
*/
/* Close unused read end for writer pipe */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
FAIL_STACK_ERROR
/* Close unused write end for reader pipe */
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
FAIL_STACK_ERROR
- /*
+ /*
* Set up and open file A as VFD SWMR writer
*/
/* Allocate memory for VFD SWMR configuration */
- if((config1 = HDmalloc(sizeof(*config1))) == NULL)
+ if ((config1 = HDmalloc(sizeof(*config1))) == NULL)
FAIL_STACK_ERROR
/* Set the VFD SWMR configuration in fapl1 + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 7, 10, TRUE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR
/* Open file A as VFD SWMR writer */
- if((fid1 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
+ if ((fid1 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
FAIL_STACK_ERROR;
/* Get a pointer to the internal file object */
- if(NULL == (f1 = H5VL_object(fid1)))
+ if (NULL == (f1 = H5VL_object(fid1)))
FAIL_STACK_ERROR
/* Head of EOT queue should be a writer */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
TEST_ERROR;
/* The EOT queue's first entry should be f1 */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f1)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f1)
TEST_ERROR;
-
/* Send notification 1 to child to open file B */
notify = 1;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Wait for notification 2 from child that file B is open */
- while(notify != 2) {
- if(HDread(child_pfd[0], &notify, sizeof(int)) < 0)
+ while (notify != 2) {
+ if (HDread(child_pfd[0], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
}
/* Open file B as VFD SWMR reader */
/* Allocate memory for VFD SWMR configuration */
- if((config2 = HDmalloc(sizeof(*config2))) == NULL)
+ if ((config2 = HDmalloc(sizeof(*config2))) == NULL)
FAIL_STACK_ERROR
/* Set the VFD SWMR configuration in fapl2 + page buffering */
fapl2 = init_vfd_swmr_config_fapl(config2, 1, 3, FALSE, 256, MD_FILENAME2, FS_PAGE_SIZE);
- if(fapl2 == H5I_INVALID_HID)
+ if (fapl2 == H5I_INVALID_HID)
FAIL_STACK_ERROR
/* Open file B as VFD SWMR reader */
- if((fid2 = H5Fopen(FILENAME2, H5F_ACC_RDONLY, fapl2)) < 0)
+ if ((fid2 = H5Fopen(FILENAME2, H5F_ACC_RDONLY, fapl2)) < 0)
FAIL_STACK_ERROR;
/* Get a pointer to the internal file object */
- if(NULL == (f2 = H5VL_object(fid2)))
+ if (NULL == (f2 = H5VL_object(fid2)))
FAIL_STACK_ERROR
/* Head of EOT queue should NOT be a writer */
- if((curr = TAILQ_FIRST(&eot_queue_g)) != NULL && curr->vfd_swmr_writer)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) != NULL && curr->vfd_swmr_writer)
TEST_ERROR;
/* The EOT queue's first entry should be f2 */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f2)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f2)
TEST_ERROR;
/* Send notification 3 to child to close file B */
notify = 3;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/* Wait for notification 4 from child that file B is closed */
- while(notify != 4) {
- if(HDread(child_pfd[0], &notify, sizeof(int)) < 0)
+ while (notify != 4) {
+ if (HDread(child_pfd[0], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
}
@@ -2023,62 +2033,64 @@ test_multiple_file_opens_concur(void)
*/
/* Close the pipes */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
FAIL_STACK_ERROR;
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
FAIL_STACK_ERROR;
/* Wait for child process to complete */
- if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
+ if ((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
FAIL_STACK_ERROR
/* Check exit status of child process */
- if(WIFEXITED(child_status)) {
- if((child_exit_val = WEXITSTATUS(child_status)) != 0)
+ if (WIFEXITED(child_status)) {
+ if ((child_exit_val = WEXITSTATUS(child_status)) != 0)
TEST_ERROR
- } else { /* child process terminated abnormally */
+ }
+ else { /* child process terminated abnormally */
TEST_ERROR
}
/* Closing */
- if(H5Fclose(fid1) < 0)
+ if (H5Fclose(fid1) < 0)
FAIL_STACK_ERROR
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl2) < 0)
+ if (H5Pclose(fapl2) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free resources */
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
PASSED();
return 0;
error:
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl1);
H5Pclose(fapl2);
H5Fclose(fid1);
H5Fclose(fid2);
H5Pclose(fcpl);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
return 1;
} /* test_multiple_file_opens_concur() */
-
/*-------------------------------------------------------------------------
* Function: test_enable_disable_eot_concur()
*
@@ -2098,212 +2110,214 @@ error:
static unsigned
test_disable_enable_eot_concur(void)
{
- hid_t fcpl = -1; /* File creation property list */
- hid_t fid_writer = -1; /* File ID for writer */
- hid_t fapl_writer = -1; /* File access property list for writer */
- H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR Configuration for writer */
- pid_t tmppid; /* Child process ID returned by waitpid */
- pid_t childpid = 0; /* Child process ID */
- int child_status; /* Status passed to waitpid */
- int child_wait_option=0; /* Options passed to waitpid */
- int child_exit_val; /* Exit status of the child */
-
- int parent_pfd[2]; /* Pipe for parent process as writer */
- int child_pfd[2]; /* Pipe for child process as reader */
- int notify = 0; /* Notification between parent and child */
+ hid_t fcpl = -1; /* File creation property list */
+ hid_t fid_writer = -1; /* File ID for writer */
+ hid_t fapl_writer = -1; /* File access property list for writer */
+ H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR Configuration for writer */
+ pid_t tmppid; /* Child process ID returned by waitpid */
+ pid_t childpid = 0; /* Child process ID */
+ int child_status; /* Status passed to waitpid */
+ int child_wait_option = 0; /* Options passed to waitpid */
+ int child_exit_val; /* Exit status of the child */
+
+ int parent_pfd[2]; /* Pipe for parent process as writer */
+ int child_pfd[2]; /* Pipe for child process as reader */
+ int notify = 0; /* Notification between parent and child */
TESTING("Verify concurrent H5Fvfd_swmr_enable/disable_end_of_tick()");
/* Allocate memory for the configuration structure */
- if((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
+ if ((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
FAIL_STACK_ERROR;
/* Set up the VFD SWMR configuration + page buffering */
fapl_writer = init_vfd_swmr_config_fapl(config_writer, 1, 3, TRUE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl_writer == H5I_INVALID_HID)
+ if (fapl_writer == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
- if(H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
+ if (H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
FAIL_STACK_ERROR;
/* Create an HDF5 file with VFD SWMR configured */
- if((fid_writer = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl_writer)) < 0)
+ if ((fid_writer = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl_writer)) < 0)
FAIL_STACK_ERROR;
/* Close the file */
- if(H5Fclose(fid_writer) < 0)
+ if (H5Fclose(fid_writer) < 0)
FAIL_STACK_ERROR;
/* Create 2 pipes */
- if(HDpipe(parent_pfd) < 0)
+ if (HDpipe(parent_pfd) < 0)
FAIL_STACK_ERROR
- if(HDpipe(child_pfd) < 0)
+ if (HDpipe(child_pfd) < 0)
FAIL_STACK_ERROR
/* Fork child process */
- if((childpid = HDfork()) < 0)
+ if ((childpid = HDfork()) < 0)
FAIL_STACK_ERROR
/*
* Child process as reader
*/
- if(childpid == 0) {
- int child_notify = 0; /* Notification between child and parent */
- hid_t fid_reader = H5I_INVALID_HID; /* File ID for reader */
- hid_t fid_reader2 = H5I_INVALID_HID; /* File ID for reader */
- hid_t fid_reader3 = H5I_INVALID_HID; /* File ID for reader */
- hid_t fapl_reader = H5I_INVALID_HID; /* File access property list for reader */
- H5F_vfd_swmr_config_t *config_reader = NULL; /* VFD SWMR configuration */
- H5F_t *file_reader; /* File pointer */
- eot_queue_entry_t *curr; /* Pointer to an entry on the EOT queue */
- unsigned count = 0; /* Counter */
+ if (childpid == 0) {
+ int child_notify = 0; /* Notification between child and parent */
+ hid_t fid_reader = H5I_INVALID_HID; /* File ID for reader */
+ hid_t fid_reader2 = H5I_INVALID_HID; /* File ID for reader */
+ hid_t fid_reader3 = H5I_INVALID_HID; /* File ID for reader */
+ hid_t fapl_reader = H5I_INVALID_HID; /* File access property list for reader */
+ H5F_vfd_swmr_config_t *config_reader = NULL; /* VFD SWMR configuration */
+ H5F_t * file_reader; /* File pointer */
+ eot_queue_entry_t * curr; /* Pointer to an entry on the EOT queue */
+ unsigned count = 0; /* Counter */
/* Close unused write end for writer pipe */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
/* Close unused read end for reader pipe */
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
/* Free unused configuration */
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
- /*
+ /*
* Open the file 3 times as VFD SWMR reader
* Enable and disable EOT for a file
* Verify the state of the EOT queue
*/
/* Wait for notification 1 from parent to start verification */
- while(child_notify != 1) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 1) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Allocate memory for the configuration structure */
- if((config_reader = HDmalloc(sizeof(*config_reader))) == NULL)
+ if ((config_reader = HDmalloc(sizeof(*config_reader))) == NULL)
HDexit(EXIT_FAILURE);
/* Set up the VFD SWMR configuration as reader + page buffering */
fapl_reader = init_vfd_swmr_config_fapl(config_reader, 1, 3, FALSE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl_reader == H5I_INVALID_HID)
+ if (fapl_reader == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Open the test file as reader */
- if((fid_reader = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
+ if ((fid_reader = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
HDexit(EXIT_FAILURE);
/* Open the same test file as reader (a second time) */
- if((fid_reader2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
+ if ((fid_reader2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
HDexit(EXIT_FAILURE);
/* Open the same test file as reader (a third time) */
- if((fid_reader3 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
+ if ((fid_reader3 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
HDexit(EXIT_FAILURE);
/* Verify the # of files on the EOT queue is 3 */
count = 0;
TAILQ_FOREACH(curr, &eot_queue_g, link)
- count++;
- if(count != 3)
+ count++;
+ if (count != 3)
HDexit(EXIT_FAILURE);
/* Disable EOT for the second opened file */
- if(H5Fvfd_swmr_disable_end_of_tick(fid_reader2) < 0)
+ if (H5Fvfd_swmr_disable_end_of_tick(fid_reader2) < 0)
HDexit(EXIT_FAILURE);
/* Verify the # of files on the EOT queue is 2 */
count = 0;
TAILQ_FOREACH(curr, &eot_queue_g, link)
- count++;
- if(count != 2)
+ count++;
+ if (count != 2)
HDexit(EXIT_FAILURE);
/* Get file pointer */
file_reader = H5VL_object(fid_reader2);
/* Should not find the second opened file on the EOT queue */
- TAILQ_FOREACH(curr, &eot_queue_g, link) {
- if(curr->vfd_swmr_file == file_reader)
+ TAILQ_FOREACH(curr, &eot_queue_g, link)
+ {
+ if (curr->vfd_swmr_file == file_reader)
break;
}
- if(curr != NULL && curr->vfd_swmr_file == file_reader)
+ if (curr != NULL && curr->vfd_swmr_file == file_reader)
HDexit(EXIT_FAILURE);
/* Enable EOT for the second opened file again */
- if(H5Fvfd_swmr_enable_end_of_tick(fid_reader2) < 0)
+ if (H5Fvfd_swmr_enable_end_of_tick(fid_reader2) < 0)
HDexit(EXIT_FAILURE);
/* Verify the # of files on the EOT queue is 3 */
count = 0;
TAILQ_FOREACH(curr, &eot_queue_g, link)
- count++;
- if(count != 3)
+ count++;
+ if (count != 3)
HDexit(EXIT_FAILURE);
/* Should find the second opened file on the EOT queue */
- TAILQ_FOREACH(curr, &eot_queue_g, link) {
- if(curr->vfd_swmr_file == file_reader)
+ TAILQ_FOREACH(curr, &eot_queue_g, link)
+ {
+ if (curr->vfd_swmr_file == file_reader)
break;
}
- if(curr == NULL || curr->vfd_swmr_file != file_reader)
+ if (curr == NULL || curr->vfd_swmr_file != file_reader)
HDexit(EXIT_FAILURE);
/* Closing */
- if(H5Fclose(fid_reader) < 0)
+ if (H5Fclose(fid_reader) < 0)
HDexit(EXIT_FAILURE);
- if(H5Fclose(fid_reader2) < 0)
+ if (H5Fclose(fid_reader2) < 0)
HDexit(EXIT_FAILURE);
- if(H5Fclose(fid_reader3) < 0)
+ if (H5Fclose(fid_reader3) < 0)
HDexit(EXIT_FAILURE);
- if(H5Pclose(fapl_reader) < 0)
+ if (H5Pclose(fapl_reader) < 0)
HDexit(EXIT_FAILURE);
- if(config_reader)
+ if (config_reader)
HDfree(config_reader);
/* Close the pipes */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
HDexit(EXIT_SUCCESS);
} /* end child process */
- /*
+ /*
* Parent process as writer
*/
/* Close unused read end for writer pipe */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
FAIL_STACK_ERROR
/* Close unused write end for reader pipe */
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
FAIL_STACK_ERROR
- /*
+ /*
* Open the file as VFD SWMR writer
*/
/* Open as VFD SWMR writer */
- if((fid_writer = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl_writer)) < 0)
+ if ((fid_writer = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl_writer)) < 0)
FAIL_STACK_ERROR;
/* Send notification 1 to reader to start verfication */
notify = 1;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/*
@@ -2311,52 +2325,54 @@ test_disable_enable_eot_concur(void)
*/
/* Close the pipes */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
FAIL_STACK_ERROR;
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
FAIL_STACK_ERROR;
/* Wait for child process to complete */
- if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
+ if ((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
FAIL_STACK_ERROR
/* Check exit status of child process */
- if(WIFEXITED(child_status)) {
- if((child_exit_val = WEXITSTATUS(child_status)) != 0)
+ if (WIFEXITED(child_status)) {
+ if ((child_exit_val = WEXITSTATUS(child_status)) != 0)
TEST_ERROR
- } else { /* child process terminated abnormally */
+ }
+ else { /* child process terminated abnormally */
TEST_ERROR
}
/* Closing */
- if(H5Fclose(fid_writer) < 0)
+ if (H5Fclose(fid_writer) < 0)
FAIL_STACK_ERROR
- if(H5Pclose(fapl_writer) < 0)
+ if (H5Pclose(fapl_writer) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free resources */
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
PASSED();
return 0;
error:
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl_writer);
H5Fclose(fid_writer);
H5Pclose(fcpl);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
return 1;
} /* test_disable_enable_eot_concur() */
-
/*-------------------------------------------------------------------------
* Function: test_file_end_tick_concur()
*
@@ -2374,118 +2390,118 @@ error:
static unsigned
test_file_end_tick_concur(void)
{
- hid_t fcpl = -1; /* File creation property list */
- hid_t fid_writer = -1; /* File ID for writer */
- hid_t fapl_writer = -1; /* File access property list for writer */
- H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR Configuration for writer */
- pid_t tmppid; /* Child process ID returned by waitpid */
- pid_t childpid = 0; /* Child process ID */
- int child_status; /* Status passed to waitpid */
- int child_wait_option=0; /* Options passed to waitpid */
- int child_exit_val; /* Exit status of the child */
-
- int parent_pfd[2]; /* Pipe for parent process as writer */
- int child_pfd[2]; /* Pipe for child process as reader */
- int notify = 0; /* Notification between parent and child */
+ hid_t fcpl = -1; /* File creation property list */
+ hid_t fid_writer = -1; /* File ID for writer */
+ hid_t fapl_writer = -1; /* File access property list for writer */
+ H5F_vfd_swmr_config_t *config_writer = NULL; /* VFD SWMR Configuration for writer */
+ pid_t tmppid; /* Child process ID returned by waitpid */
+ pid_t childpid = 0; /* Child process ID */
+ int child_status; /* Status passed to waitpid */
+ int child_wait_option = 0; /* Options passed to waitpid */
+ int child_exit_val; /* Exit status of the child */
+
+ int parent_pfd[2]; /* Pipe for parent process as writer */
+ int child_pfd[2]; /* Pipe for child process as reader */
+ int notify = 0; /* Notification between parent and child */
TESTING("Verify concurrent H5Fvfd_swmr_end_tick()");
/* Allocate memory for the configuration structure */
- if((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
+ if ((config_writer = HDmalloc(sizeof(*config_writer))) == NULL)
FAIL_STACK_ERROR;
/* Set up the VFD SWMR configuration + page buffering */
fapl_writer = init_vfd_swmr_config_fapl(config_writer, 1, 3, TRUE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl_writer == H5I_INVALID_HID)
+ if (fapl_writer == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
- if(H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
+ if (H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0)
FAIL_STACK_ERROR;
/* Create an HDF5 file with VFD SWMR configured */
- if((fid_writer = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl_writer)) < 0)
+ if ((fid_writer = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl_writer)) < 0)
FAIL_STACK_ERROR;
/* Close the file */
- if(H5Fclose(fid_writer) < 0)
+ if (H5Fclose(fid_writer) < 0)
FAIL_STACK_ERROR;
/* Create 2 pipes */
- if(HDpipe(parent_pfd) < 0)
+ if (HDpipe(parent_pfd) < 0)
FAIL_STACK_ERROR
- if(HDpipe(child_pfd) < 0)
+ if (HDpipe(child_pfd) < 0)
FAIL_STACK_ERROR
/* Fork child process */
- if((childpid = HDfork()) < 0)
+ if ((childpid = HDfork()) < 0)
FAIL_STACK_ERROR
/*
* Child process as reader
*/
- if(childpid == 0) {
- int child_notify = 0; /* Notification between child and parent */
- hid_t fid_reader1 = H5I_INVALID_HID; /* File ID for reader */
- hid_t fid_reader2 = H5I_INVALID_HID; /* File ID for reader */
- hid_t fid_reader3 = H5I_INVALID_HID; /* File ID for reader */
- hid_t fapl_reader = H5I_INVALID_HID; /* File access property list for reader */
- H5F_vfd_swmr_config_t *config_reader = NULL; /* VFD SWMR configuration */
- H5F_t *f1, *f2, *f3; /* File pointer */
- uint64_t s1 = 0; /* Saved tick_num */
- uint64_t s2 = 0; /* Saved tick_num */
- uint64_t s3 = 0; /* Saved tick_num */
+ if (childpid == 0) {
+ int child_notify = 0; /* Notification between child and parent */
+ hid_t fid_reader1 = H5I_INVALID_HID; /* File ID for reader */
+ hid_t fid_reader2 = H5I_INVALID_HID; /* File ID for reader */
+ hid_t fid_reader3 = H5I_INVALID_HID; /* File ID for reader */
+ hid_t fapl_reader = H5I_INVALID_HID; /* File access property list for reader */
+ H5F_vfd_swmr_config_t *config_reader = NULL; /* VFD SWMR configuration */
+ H5F_t * f1, *f2, *f3; /* File pointer */
+ uint64_t s1 = 0; /* Saved tick_num */
+ uint64_t s2 = 0; /* Saved tick_num */
+ uint64_t s3 = 0; /* Saved tick_num */
/* Close unused write end for writer pipe */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
/* Close unused read end for reader pipe */
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
/* Free unused configuration */
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
- /*
+ /*
* Open the file 3 times as VFD SWMR reader
* Trigger EOT for the files
*/
/* Wait for notification 1 from parent to start verification */
- while(child_notify != 1) {
- if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
+ while (child_notify != 1) {
+ if (HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0)
HDexit(EXIT_FAILURE);
}
/* Allocate memory for the configuration structure */
- if((config_reader = HDmalloc(sizeof(*config_reader))) == NULL)
+ if ((config_reader = HDmalloc(sizeof(*config_reader))) == NULL)
HDexit(EXIT_FAILURE);
/* Set up the VFD SWMR configuration as reader + page buffering */
fapl_reader = init_vfd_swmr_config_fapl(config_reader, 1, 3, FALSE, 256, MD_FILENAME, FS_PAGE_SIZE);
- if(fapl_reader == H5I_INVALID_HID)
+ if (fapl_reader == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Open the test file as reader */
- if((fid_reader1 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
+ if ((fid_reader1 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
HDexit(EXIT_FAILURE);
/* Open the same test file as reader (a second time) */
- if((fid_reader2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
+ if ((fid_reader2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
HDexit(EXIT_FAILURE);
/* Open the same test file as reader (a third time) */
- if((fid_reader3 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
+ if ((fid_reader3 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl_reader)) < 0)
HDexit(EXIT_FAILURE);
/* Get file pointer */
@@ -2499,75 +2515,75 @@ test_file_end_tick_concur(void)
s3 = f3->shared->tick_num;
/* Trigger EOT for the second opened file */
- if(H5Fvfd_swmr_end_tick(fid_reader2) < 0)
+ if (H5Fvfd_swmr_end_tick(fid_reader2) < 0)
HDexit(EXIT_FAILURE);
/* Verify tick_num should not be less than the previous tick_num */
- if(f2->shared->tick_num < s2)
+ if (f2->shared->tick_num < s2)
HDexit(EXIT_FAILURE);
- if(H5Fclose(fid_reader2) < 0)
+ if (H5Fclose(fid_reader2) < 0)
HDexit(EXIT_FAILURE);
/* Trigger EOT for the first opened file */
- if(H5Fvfd_swmr_end_tick(fid_reader1) < 0)
+ if (H5Fvfd_swmr_end_tick(fid_reader1) < 0)
HDexit(EXIT_FAILURE);
/* Verify tick_num should not be less than the previous tick_num */
- if(f1->shared->tick_num < s1)
+ if (f1->shared->tick_num < s1)
HDexit(EXIT_FAILURE);
- if(H5Fclose(fid_reader1) < 0)
+ if (H5Fclose(fid_reader1) < 0)
HDexit(EXIT_FAILURE);
/* Trigger end tick processing for the third opened file */
- if(H5Fvfd_swmr_end_tick(fid_reader3) < 0)
+ if (H5Fvfd_swmr_end_tick(fid_reader3) < 0)
HDexit(EXIT_FAILURE);
/* Verify tick_num should not be less than the previous tick_num */
- if(f3->shared->tick_num < s3)
+ if (f3->shared->tick_num < s3)
HDexit(EXIT_FAILURE);
- if(H5Fclose(fid_reader3) < 0)
+ if (H5Fclose(fid_reader3) < 0)
HDexit(EXIT_FAILURE);
- if(H5Pclose(fapl_reader) < 0)
+ if (H5Pclose(fapl_reader) < 0)
HDexit(EXIT_FAILURE);
- if(config_reader)
+ if (config_reader)
HDfree(config_reader);
/* Close the pipes */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
HDexit(EXIT_FAILURE);
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
HDexit(EXIT_FAILURE);
HDexit(EXIT_SUCCESS);
} /* end child process */
- /*
+ /*
* Parent process as writer
*/
/* Close unused read end for writer pipe */
- if(HDclose(parent_pfd[0]) < 0)
+ if (HDclose(parent_pfd[0]) < 0)
FAIL_STACK_ERROR
/* Close unused write end for reader pipe */
- if(HDclose(child_pfd[1]) < 0)
+ if (HDclose(child_pfd[1]) < 0)
FAIL_STACK_ERROR
- /*
+ /*
* Open the file as VFD SWMR writer
*/
/* Open as VFD SWMR writer */
- if((fid_writer = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl_writer)) < 0)
+ if ((fid_writer = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl_writer)) < 0)
FAIL_STACK_ERROR;
/* Send notification 1 to reader to start verfication */
notify = 1;
- if(HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
+ if (HDwrite(parent_pfd[1], &notify, sizeof(int)) < 0)
FAIL_STACK_ERROR;
/*
@@ -2575,54 +2591,56 @@ test_file_end_tick_concur(void)
*/
/* Close the pipes */
- if(HDclose(parent_pfd[1]) < 0)
+ if (HDclose(parent_pfd[1]) < 0)
FAIL_STACK_ERROR;
- if(HDclose(child_pfd[0]) < 0)
+ if (HDclose(child_pfd[0]) < 0)
FAIL_STACK_ERROR;
/* Wait for child process to complete */
- if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
+ if ((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
FAIL_STACK_ERROR
/* Check exit status of child process */
- if(WIFEXITED(child_status)) {
- if((child_exit_val = WEXITSTATUS(child_status)) != 0)
+ if (WIFEXITED(child_status)) {
+ if ((child_exit_val = WEXITSTATUS(child_status)) != 0)
TEST_ERROR
- } else { /* child process terminated abnormally */
+ }
+ else { /* child process terminated abnormally */
TEST_ERROR
}
/* Closing */
- if(H5Fclose(fid_writer) < 0)
+ if (H5Fclose(fid_writer) < 0)
FAIL_STACK_ERROR
- if(H5Pclose(fapl_writer) < 0)
+ if (H5Pclose(fapl_writer) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free resources */
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
PASSED();
return 0;
error:
- if(config_writer)
+ if (config_writer)
HDfree(config_writer);
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl_writer);
H5Fclose(fid_writer);
H5Pclose(fcpl);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
return 1;
} /* test_file_end_tick_concur() */
#endif /* H5_HAVE_UNISTD_H */
-
/*-------------------------------------------------------------------------
* Function: test_multiple_file_opens()
*
@@ -2638,168 +2656,169 @@ error:
*/
static unsigned
-test_multiple_file_opens(void)
+test_multiple_file_opens(void)
{
- hid_t fid1 = -1; /* File ID */
- hid_t fid2 = -1; /* File ID */
- hid_t fid = -1; /* File ID */
- hid_t fcpl = -1; /* File creation property list ID */
- hid_t fapl1 = -1; /* File access property list ID */
- hid_t fapl2 = -1; /* File access property list ID */
- H5F_t *f1, *f2, *f; /* File pointer */
- H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
- eot_queue_entry_t *curr;
+ hid_t fid1 = -1; /* File ID */
+ hid_t fid2 = -1; /* File ID */
+ hid_t fid = -1; /* File ID */
+ hid_t fcpl = -1; /* File creation property list ID */
+ hid_t fapl1 = -1; /* File access property list ID */
+ hid_t fapl2 = -1; /* File access property list ID */
+ H5F_t * f1, *f2, *f; /* File pointer */
+ H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
+ eot_queue_entry_t * curr;
TESTING("EOT queue entries when opening files with/without VFD SWMR");
/* Allocate memory for the configuration structure */
- if((config1 = HDmalloc(sizeof(*config1))) == NULL)
+ if ((config1 = HDmalloc(sizeof(*config1))) == NULL)
FAIL_STACK_ERROR;
- if((config2 = HDmalloc(sizeof(*config2))) == NULL)
+ if ((config2 = HDmalloc(sizeof(*config2))) == NULL)
FAIL_STACK_ERROR;
/* Configured as VFD SWMR writer + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 6, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Configured as VFD SWMR writer + page buffering */
fapl2 = init_vfd_swmr_config_fapl(config2, 4, 6, TRUE, 2, MD_FILENAME2, 4096);
- if(fapl2 == H5I_INVALID_HID)
+ if (fapl2 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
- FAIL_STACK_ERROR
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
/* Create a file without VFD SWMR */
- if((fid = H5Fcreate(FNAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if ((fid = H5Fcreate(FNAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Get a pointer to the internal file object */
- if(NULL == (f = H5VL_object(fid)))
+ if (NULL == (f = H5VL_object(fid)))
FAIL_STACK_ERROR
/* Verify the global vfd_swmr_writer_g is not set */
- if((curr = TAILQ_FIRST(&eot_queue_g)) != NULL && curr->vfd_swmr_writer)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) != NULL && curr->vfd_swmr_writer)
TEST_ERROR;
/* The EOT queue should be empty */
- if(!TAILQ_EMPTY(&eot_queue_g))
+ if (!TAILQ_EMPTY(&eot_queue_g))
TEST_ERROR;
/* Create a file with VFD SWMR writer */
- if((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
+ if ((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
TEST_ERROR;
/* Get a pointer to the internal file object */
- if(NULL == (f1 = H5VL_object(fid1)))
+ if (NULL == (f1 = H5VL_object(fid1)))
FAIL_STACK_ERROR
/* Head of EOT queue should be a writer */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
TEST_ERROR;
/* The EOT queue should be initialized with the first entry equals to f1 */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f1)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f1)
TEST_ERROR;
/* Create another file with VFD SWMR writer */
- if((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, fapl2)) < 0)
+ if ((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, fapl2)) < 0)
TEST_ERROR;
/* Get a pointer to the internal file object */
- if(NULL == (f2 = H5VL_object(fid2)))
+ if (NULL == (f2 = H5VL_object(fid2)))
FAIL_STACK_ERROR
/* Head of EOT queue should be a writer */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
TEST_ERROR;
/* The EOT queue's first entry should be f1 */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f1)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f1)
TEST_ERROR;
/* The file without VFD SWMR should not exist on the EOT queue */
- TAILQ_FOREACH(curr, &eot_queue_g, link) {
- if(curr->vfd_swmr_file == f)
+ TAILQ_FOREACH(curr, &eot_queue_g, link)
+ {
+ if (curr->vfd_swmr_file == f)
TEST_ERROR
}
/* Close the first file with VFD SWMR */
- if(H5Fclose(fid1) < 0)
+ if (H5Fclose(fid1) < 0)
FAIL_STACK_ERROR;
/* Head of EOT queue should be a writer */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || !curr->vfd_swmr_writer)
TEST_ERROR;
/* The EOT queue's first entry should be f2 */
- if((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f2)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) == NULL || curr->vfd_swmr_file != f2)
TEST_ERROR;
/* Close the second file with VFD SWMR */
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
/* Head of EOT queue should not be a writer */
- if((curr = TAILQ_FIRST(&eot_queue_g)) != NULL && curr->vfd_swmr_writer)
+ if ((curr = TAILQ_FIRST(&eot_queue_g)) != NULL && curr->vfd_swmr_writer)
TEST_ERROR;
/* The EOT queue should be empty */
- if(!TAILQ_EMPTY(&eot_queue_g))
+ if (!TAILQ_EMPTY(&eot_queue_g))
TEST_ERROR;
/* Closing */
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl2) < 0)
+ if (H5Pclose(fapl2) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
/* Free buffers */
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
PASSED();
return 0;
error:
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl1);
H5Pclose(fapl2);
H5Pclose(fcpl);
H5Fclose(fid);
H5Fclose(fid1);
H5Fclose(fid2);
- } H5E_END_TRY;
- if(config1)
+ }
+ H5E_END_TRY;
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
return 1;
} /* test_multiple_file_opens() */
-
-
/*-------------------------------------------------------------------------
* Function: test_same_file_opens()
*
* Purpose: Verify multiple opens of the same file as listed below:
*
- * #1st open#
- * #2nd open# VW VR W R
+ * #1st open#
+ * #2nd open# VW VR W R
* ------------------
- * VW | s f f f |
- * VR | f f f f |
- * W | f f s f |
- * R | f f s s |
+ * VW | s f f f |
+ * VR | f f f f |
+ * W | f f s f |
+ * R | f f s s |
* ------------------
*
* Notations:
@@ -2808,8 +2827,8 @@ error:
* VW: VFD SWMR writer
* VR: VFD SWMR reader
*
- * f: the open fails
- * s: the open succeeds
+ * f: the open fails
+ * s: the open succeeds
*
* Return: 0 if test is sucessful
* 1 if test fails
@@ -2821,290 +2840,302 @@ error:
static unsigned
test_same_file_opens(void)
{
- hid_t fid = -1; /* File ID */
- hid_t fid2 = -1; /* File ID */
- hid_t fcpl = -1; /* File creation property list ID */
- hid_t fapl1 = -1; /* File access property list ID */
- hid_t fapl2 = -1; /* File access property list ID */
- H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
+ hid_t fid = -1; /* File ID */
+ hid_t fid2 = -1; /* File ID */
+ hid_t fcpl = -1; /* File creation property list ID */
+ hid_t fapl1 = -1; /* File access property list ID */
+ hid_t fapl2 = -1; /* File access property list ID */
+ H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
TESTING("Multiple opens of the same file with VFD SWMR configuration");
/* Should succeed without VFD SWMR configured */
- if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if ((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Close the file */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
/* Allocate memory for the configuration structure */
- if((config1 = HDmalloc(sizeof(*config1))) == NULL)
+ if ((config1 = HDmalloc(sizeof(*config1))) == NULL)
FAIL_STACK_ERROR;
- if((config2 = HDmalloc(sizeof(*config2))) == NULL)
+ if ((config2 = HDmalloc(sizeof(*config2))) == NULL)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
- FAIL_STACK_ERROR
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
- /*
+ /*
* Tests for first column
*/
/* Create the test file */
- if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0)
+ if ((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Close the file */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
-
/* Set the VFD SWMR configuration in fapl1 + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 10, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Open the file as VFD SWMR writer */
/* Keep the file open */
- if((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
+ if ((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
TEST_ERROR;
/* Open the same file again as VFD SWMR writer */
/* Should succeed: 1st open--VFD SWMR writer, 2nd open--VFD SWMR writer */
- if((fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
+ if ((fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1)) < 0)
TEST_ERROR;
/* Close the second file open */
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
/* Set the VFD SWMR configuration in fapl2 + page buffering */
fapl2 = init_vfd_swmr_config_fapl(config2, 3, 8, FALSE, 3, MD_FILENAME, 4096);
- if(fapl2 == H5I_INVALID_HID)
+ if (fapl2 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Open the same file again as VFD SWMR reader */
/* Should fail: 1st open--VFD SWMR writer, 2nd open--VFD SWMR reader */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl2);
- } H5E_END_TRY;
- if(fid2 >= 0)
+ }
+ H5E_END_TRY;
+ if (fid2 >= 0)
TEST_ERROR;
-
- if(H5Pclose(fapl2) < 0)
+
+ if (H5Pclose(fapl2) < 0)
FAIL_STACK_ERROR;
/* Open the same file again as regular writer */
/* Should fail: 1st open--VFD SWMR writer, 2nd open--regular writer */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT);
- } H5E_END_TRY;
- if(fid2 >= 0)
+ }
+ H5E_END_TRY;
+ if (fid2 >= 0)
TEST_ERROR;
/* Open the same file again as regular reader */
/* Should fail: 1st open--VFD SWMR writer, 2nd open--regular reader */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT);
- } H5E_END_TRY;
- if(fid2 >= 0)
+ }
+ H5E_END_TRY;
+ if (fid2 >= 0)
TEST_ERROR;
/* Close the 1st open file */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
-
- /*
+ /*
* Tests for second column
*/
/* Set up as VFD SWMR reader + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 10, FALSE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Open the file as VFD SWMR reader */
/* Should fail because there is no metadata file */
/* Take a while to complete due to retries */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid = H5Fopen(FILENAME, H5F_ACC_RDONLY, fapl1);
- } H5E_END_TRY;
- if(fid >= 0)
+ }
+ H5E_END_TRY;
+ if (fid >= 0)
TEST_ERROR;
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
- /*
+ /*
* Tests for third column
*/
/* Open the file as regular writer */
/* Keep the file open */
- if((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
+ if ((fid = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Set up as VFD SWMR writer + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 10, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Open the same file again as VFD SWMR writer */
/* Should fail: 1st open--regular writer, 2nd open--VFD SWMR writer */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1);
- } H5E_END_TRY;
- if(fid2 >= 0)
+ }
+ H5E_END_TRY;
+ if (fid2 >= 0)
TEST_ERROR;
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
-
/* Open the same file again as regular writer */
/* Should succeed: 1st open--regular writer, 2nd open--regular writer */
- if((fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
+ if ((fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
TEST_ERROR;
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
-
/* Open the same file again as regular reader */
/* Should succeed: 1st open is writer, 2nd open is the same file as reader */
- if((fid2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ if ((fid2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
TEST_ERROR;
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
/* Close the 1st open file */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
- /*
+ /*
* Tests for fourth column
*/
/* Open the file as regular reader */
/* keep the file open */
- if((fid = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ if ((fid = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Set up as VFD SWMR writer + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 10, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Open the same file again as VFD SMWR writer */
/* Should fail: 1st open--regular reader, 2nd open--VFD SWMR writer */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, fapl1);
- } H5E_END_TRY;
- if(fid2 >= 0)
+ }
+ H5E_END_TRY;
+ if (fid2 >= 0)
TEST_ERROR;
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
/* Open the same file again as regular reader */
/* Should succeed: 1st open--regular reader, 2nd open--regular reader */
- if((fid2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ if ((fid2 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
TEST_ERROR;
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
/* Open the same file again as regular writer */
/* Should fail: 1st open--regular reader, 2nd open--regular writer */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
fid2 = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT);
- } H5E_END_TRY;
- if(fid2 >= 0)
+ }
+ H5E_END_TRY;
+ if (fid2 >= 0)
TEST_ERROR;
/* Close the 1st open file */
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free buffers */
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
PASSED();
return 0;
error:
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl1);
H5Pclose(fapl2);
H5Pclose(fcpl);
H5Fclose(fid);
H5Fclose(fid2);
- } H5E_END_TRY;
- if(config1)
+ }
+ H5E_END_TRY;
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
return 1;
} /* test_same_file_opens() */
#ifndef _arraycount
-#define _arraycount(_a) (sizeof(_a)/sizeof(_a[0]))
+#define _arraycount(_a) (sizeof(_a) / sizeof(_a[0]))
#endif
static unsigned
test_shadow_index_lookup(void)
{
- unsigned nerrors = 0;
+ unsigned nerrors = 0;
H5FD_vfd_swmr_idx_entry_t *idx;
- uint32_t size[] = {0, 1, 2, 3, 4, 0};
- unsigned seed = 1;
- unsigned i, j, failj = UINT_MAX;
- hbool_t have_failj = FALSE;
- unsigned long tmpl;
- const char *seedvar = "H5_SHADOW_INDEX_SEED";
- const char *failvar = "H5_SHADOW_INDEX_FAIL";
+ uint32_t size[] = {0, 1, 2, 3, 4, 0};
+ unsigned seed = 1;
+ unsigned i, j, failj = UINT_MAX;
+ hbool_t have_failj = FALSE;
+ unsigned long tmpl;
+ const char * seedvar = "H5_SHADOW_INDEX_SEED";
+ const char * failvar = "H5_SHADOW_INDEX_FAIL";
TESTING("Shadow-index lookups");
/* get seed from environment or else from time(3) */
switch (fetch_env_ulong(seedvar, UINT_MAX, &tmpl)) {
- case -1:
- nerrors = 1;
- goto out;
- case 0:
- seed = (unsigned int)HDtime(NULL);
- break;
- default:
- seed = (unsigned int)tmpl;
- break;
+ case -1:
+ nerrors = 1;
+ goto out;
+ case 0:
+ seed = (unsigned int)HDtime(NULL);
+ break;
+ default:
+ seed = (unsigned int)tmpl;
+ break;
}
/* get forced-fail index from environment */
switch (fetch_env_ulong(failvar, UINT_MAX, &tmpl)) {
- case -1:
- nerrors = 1;
- goto out;
- case 0:
- break;
- default:
- failj = (unsigned int)tmpl;
- have_failj = TRUE;
- break;
+ case -1:
+ nerrors = 1;
+ goto out;
+ case 0:
+ break;
+ default:
+ failj = (unsigned int)tmpl;
+ have_failj = TRUE;
+ break;
}
HDsrandom(seed);
@@ -3112,35 +3143,31 @@ test_shadow_index_lookup(void)
size[5] = (uint32_t)(1024 + HDrandom() % (16 * 1024 * 1024 - 1024));
for (i = 0; i < _arraycount(size); i++) {
- uint32_t cursize = size[i];
+ uint32_t cursize = size[i];
const uint64_t modulus = UINT64_MAX / MAX(1, cursize);
- uint64_t pageno;
+ uint64_t pageno;
HDassert(modulus > 1); // so that modulus - 1 > 0, below
- idx = (cursize == 0) ? NULL : HDcalloc(cursize, sizeof(*idx));
+ idx = (cursize == 0) ? NULL : HDcalloc(cursize, sizeof(*idx));
if (idx == NULL && cursize != 0) {
- HDfprintf(stderr, "couldn't allocate %" PRIu32 " indices\n",
- cursize);
+ HDfprintf(stderr, "couldn't allocate %" PRIu32 " indices\n", cursize);
HDexit(EXIT_FAILURE);
}
- for (pageno = (uint64_t)HDrandom() % modulus, j = 0;
- j < cursize;
+ for (pageno = (uint64_t)HDrandom() % modulus, j = 0; j < cursize;
j++, pageno += 1 + (uint64_t)HDrandom() % (modulus - 1)) {
idx[j].hdf5_page_offset = pageno;
}
for (j = 0; j < cursize; j++) {
H5FD_vfd_swmr_idx_entry_t *found;
- found = vfd_swmr_pageno_to_mdf_idx_entry(idx, cursize,
- idx[j].hdf5_page_offset, FALSE);
+ found = vfd_swmr_pageno_to_mdf_idx_entry(idx, cursize, idx[j].hdf5_page_offset, FALSE);
if ((have_failj && failj == j) || found != &idx[j])
break;
}
if (j < cursize) {
- HDprintf("\nshadow-index entry %d lookup, pageno %" PRIu64
- ", index size %" PRIu32 ", seed %u", j,
- idx[j].hdf5_page_offset, cursize, seed);
+ HDprintf("\nshadow-index entry %d lookup, pageno %" PRIu64 ", index size %" PRIu32 ", seed %u", j,
+ idx[j].hdf5_page_offset, cursize, seed);
nerrors++;
}
if (idx != NULL)
@@ -3171,208 +3198,222 @@ out:
*-------------------------------------------------------------------------
*/
static unsigned
-test_enable_disable_eot(void)
+test_enable_disable_eot(void)
{
- hid_t fid = H5I_INVALID_HID; /* File ID */
- hid_t fid1 = H5I_INVALID_HID; /* File ID */
- hid_t fid2 = H5I_INVALID_HID; /* File ID */
- hid_t fid3 = H5I_INVALID_HID; /* File ID */
- hid_t fcpl = H5I_INVALID_HID; /* File creation property list ID */
- hid_t fapl1 = H5I_INVALID_HID; /* File access property list ID */
- hid_t fapl2 = H5I_INVALID_HID; /* File access property list ID */
- hid_t fapl3 = H5I_INVALID_HID; /* File access property list ID */
- H5F_t *f1, *f2, *f3; /* File pointer */
- H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
- H5F_vfd_swmr_config_t *config3 = NULL; /* Configuration for VFD SWMR */
- eot_queue_entry_t *curr; /* Pointer to an entry on the EOT queue */
- unsigned count = 0; /* Counter */
- herr_t ret; /* Return value */
+ hid_t fid = H5I_INVALID_HID; /* File ID */
+ hid_t fid1 = H5I_INVALID_HID; /* File ID */
+ hid_t fid2 = H5I_INVALID_HID; /* File ID */
+ hid_t fid3 = H5I_INVALID_HID; /* File ID */
+ hid_t fcpl = H5I_INVALID_HID; /* File creation property list ID */
+ hid_t fapl1 = H5I_INVALID_HID; /* File access property list ID */
+ hid_t fapl2 = H5I_INVALID_HID; /* File access property list ID */
+ hid_t fapl3 = H5I_INVALID_HID; /* File access property list ID */
+ H5F_t * f1, *f2, *f3; /* File pointer */
+ H5F_vfd_swmr_config_t *config1 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *config2 = NULL; /* Configuration for VFD SWMR */
+ H5F_vfd_swmr_config_t *config3 = NULL; /* Configuration for VFD SWMR */
+ eot_queue_entry_t * curr; /* Pointer to an entry on the EOT queue */
+ unsigned count = 0; /* Counter */
+ herr_t ret; /* Return value */
TESTING("H5Fvfd_swmr_enable/disable_end_of_tick()");
/* Allocate memory for the configuration structure */
- if((config1 = HDmalloc(sizeof(*config1))) == NULL)
+ if ((config1 = HDmalloc(sizeof(*config1))) == NULL)
FAIL_STACK_ERROR;
- if((config2 = HDmalloc(sizeof(*config2))) == NULL)
+ if ((config2 = HDmalloc(sizeof(*config2))) == NULL)
FAIL_STACK_ERROR;
- if((config3 = HDmalloc(sizeof(*config3))) == NULL)
+ if ((config3 = HDmalloc(sizeof(*config3))) == NULL)
FAIL_STACK_ERROR;
/* Configured first file as VFD SWMR writer + page buffering */
fapl1 = init_vfd_swmr_config_fapl(config1, 4, 6, TRUE, 2, MD_FILENAME, 4096);
- if(fapl1 == H5I_INVALID_HID)
+ if (fapl1 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Configured second file as VFD SWMR writer + page buffering */
fapl2 = init_vfd_swmr_config_fapl(config2, 4, 6, TRUE, 2, MD_FILENAME2, 4096);
- if(fapl2 == H5I_INVALID_HID)
+ if (fapl2 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Configured third file as VFD SWMR writer + page buffering */
fapl3 = init_vfd_swmr_config_fapl(config3, 4, 6, TRUE, 2, MD_FILENAME3, 4096);
- if(fapl3 == H5I_INVALID_HID)
+ if (fapl3 == H5I_INVALID_HID)
FAIL_STACK_ERROR;
/* Create a copy of the file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
- FAIL_STACK_ERROR
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ FAIL_STACK_ERROR
/* Set file space strategy */
- if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, 1) < 0)
FAIL_STACK_ERROR;
/* Create a file without VFD SWMR */
- if((fid = H5Fcreate(FNAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if ((fid = H5Fcreate(FNAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
TEST_ERROR;
/* Should fail to disable the file because VFD SWMR is not configured */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Fvfd_swmr_disable_end_of_tick(fid);
- } H5E_END_TRY;
- if(ret >=0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR
- if(H5Fclose(fid) < 0)
+ if (H5Fclose(fid) < 0)
TEST_ERROR
/* Create file 1 with VFD SWMR writer */
- if((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
+ if ((fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl1)) < 0)
TEST_ERROR;
/* Create file 2 with VFD SWMR writer */
- if((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, fapl2)) < 0)
+ if ((fid2 = H5Fcreate(FILENAME2, H5F_ACC_TRUNC, fcpl, fapl2)) < 0)
TEST_ERROR;
/* Create file 3 with VFD SWMR writer */
- if((fid3 = H5Fcreate(FILENAME3, H5F_ACC_TRUNC, fcpl, fapl3)) < 0)
+ if ((fid3 = H5Fcreate(FILENAME3, H5F_ACC_TRUNC, fcpl, fapl3)) < 0)
TEST_ERROR;
/* Should have 3 files on the EOT queue */
TAILQ_FOREACH(curr, &eot_queue_g, link)
- count++;
- if(count != 3)
+ count++;
+ if (count != 3)
TEST_ERROR;
/* Disable EOT for file 1 */
- if(H5Fvfd_swmr_disable_end_of_tick(fid1) < 0)
+ if (H5Fvfd_swmr_disable_end_of_tick(fid1) < 0)
TEST_ERROR
/* Disable file 1 again should fail because the file has just been disabled */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Fvfd_swmr_disable_end_of_tick(fid1);
- } H5E_END_TRY;
- if(ret >=0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR
/* Should have 2 files on the EOT queue */
count = 0;
TAILQ_FOREACH(curr, &eot_queue_g, link)
- count++;
- if(count != 2)
+ count++;
+ if (count != 2)
TEST_ERROR
/* Get a pointer to the internal file object */
- if(NULL == (f1 = H5VL_object(fid1)))
+ if (NULL == (f1 = H5VL_object(fid1)))
FAIL_STACK_ERROR
/* Should not find file 1 on the EOT queue */
- TAILQ_FOREACH(curr, &eot_queue_g, link) {
- if(curr->vfd_swmr_file == f1)
+ TAILQ_FOREACH(curr, &eot_queue_g, link)
+ {
+ if (curr->vfd_swmr_file == f1)
break;
}
- if(curr != NULL && curr->vfd_swmr_file == f1)
+ if (curr != NULL && curr->vfd_swmr_file == f1)
TEST_ERROR
/* Enable EOT for file 2 should fail because the file has not been disabled */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Fvfd_swmr_enable_end_of_tick(fid2);
- } H5E_END_TRY;
- if(ret >=0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR
/* Get a pointer to the internal file object */
- if(NULL == (f2 = H5VL_object(fid2)))
+ if (NULL == (f2 = H5VL_object(fid2)))
FAIL_STACK_ERROR
/* File 2 should be on the EOT queue */
- TAILQ_FOREACH(curr, &eot_queue_g, link) {
- if(curr->vfd_swmr_file == f2)
+ TAILQ_FOREACH(curr, &eot_queue_g, link)
+ {
+ if (curr->vfd_swmr_file == f2)
break;
}
- if(curr == NULL || curr->vfd_swmr_file != f2)
+ if (curr == NULL || curr->vfd_swmr_file != f2)
TEST_ERROR
/* Close file 3 */
- if(H5Fclose(fid3) < 0)
+ if (H5Fclose(fid3) < 0)
TEST_ERROR
/* Open file 3 again without VFD SWMR writer */
- if((fid3 = H5Fopen(FILENAME3, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
+ if ((fid3 = H5Fopen(FILENAME3, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
TEST_ERROR
/* Get a pointer to the internal file object for file 3 */
- if(NULL == (f3 = H5VL_object(fid3)))
+ if (NULL == (f3 = H5VL_object(fid3)))
FAIL_STACK_ERROR
/* File 3 should not exist on the EOT queue */
- TAILQ_FOREACH(curr, &eot_queue_g, link) {
- if(curr->vfd_swmr_file == f3)
+ TAILQ_FOREACH(curr, &eot_queue_g, link)
+ {
+ if (curr->vfd_swmr_file == f3)
break;
}
- if(curr != NULL && curr->vfd_swmr_file == f3)
+ if (curr != NULL && curr->vfd_swmr_file == f3)
TEST_ERROR
/* Should have 2 files on the EOT queue */
count = 0;
TAILQ_FOREACH(curr, &eot_queue_g, link)
- count++;
- if(count != 1)
+ count++;
+ if (count != 1)
TEST_ERROR;
/* Should fail to enable file 3 */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Fvfd_swmr_enable_end_of_tick(fid3);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR
/* Should fail to disable file 3 */
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
ret = H5Fvfd_swmr_disable_end_of_tick(fid3);
- } H5E_END_TRY;
- if(ret >= 0)
+ }
+ H5E_END_TRY;
+ if (ret >= 0)
TEST_ERROR
/* Closing */
- if(H5Fclose(fid1) < 0)
+ if (H5Fclose(fid1) < 0)
FAIL_STACK_ERROR;
- if(H5Fclose(fid2) < 0)
+ if (H5Fclose(fid2) < 0)
FAIL_STACK_ERROR;
- if(H5Fclose(fid3) < 0)
+ if (H5Fclose(fid3) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl1) < 0)
+ if (H5Pclose(fapl1) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl2) < 0)
+ if (H5Pclose(fapl2) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fapl3) < 0)
+ if (H5Pclose(fapl3) < 0)
FAIL_STACK_ERROR;
- if(H5Pclose(fcpl) < 0)
+ if (H5Pclose(fcpl) < 0)
FAIL_STACK_ERROR;
/* Free buffers */
- if(config1)
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
- if(config3)
+ if (config3)
HDfree(config3);
PASSED();
return 0;
error:
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl1);
H5Pclose(fapl2);
H5Pclose(fapl3);
@@ -3381,18 +3422,18 @@ error:
H5Fclose(fid1);
H5Fclose(fid2);
H5Fclose(fid3);
- } H5E_END_TRY;
- if(config1)
+ }
+ H5E_END_TRY;
+ if (config1)
HDfree(config1);
- if(config2)
+ if (config2)
HDfree(config2);
- if(config3)
+ if (config3)
HDfree(config3);
return 1;
} /* test_enable_disable_eot() */
-
/*-------------------------------------------------------------------------
* Function: main()
*
@@ -3406,34 +3447,33 @@ error:
int
main(void)
{
- hid_t fapl = -1; /* File access property list for */
- /* data files */
- unsigned nerrors = 0; /* Cumulative error count */
- char *lock_env_var = NULL; /* File locking env var pointer */
- const char *env_h5_drvr = NULL; /* File Driver value from environment */
- hbool_t use_file_locking; /* Read from env var */
+ hid_t fapl = -1; /* File access property list for */
+ /* data files */
+ unsigned nerrors = 0; /* Cumulative error count */
+ char * lock_env_var = NULL; /* File locking env var pointer */
+ const char *env_h5_drvr = NULL; /* File Driver value from environment */
+ hbool_t use_file_locking; /* Read from env var */
/* Check the environment variable that determines if we care
* about file locking. File locking should be used unless explicitly
* disabled.
*/
lock_env_var = HDgetenv("HDF5_USE_FILE_LOCKING");
- if(lock_env_var && !HDstrcmp(lock_env_var, "FALSE"))
+ if (lock_env_var && !HDstrcmp(lock_env_var, "FALSE"))
use_file_locking = FALSE;
else
use_file_locking = TRUE;
/* Get the VFD to use */
env_h5_drvr = HDgetenv("HDF5_DRIVER");
- if(env_h5_drvr == NULL)
+ if (env_h5_drvr == NULL)
env_h5_drvr = "nomatch";
/* Temporary skip testing with multi/split drivers:
* Page buffering depends on paged aggregation which is
* currently disabled for multi/split drivers.
*/
- if((0 == HDstrcmp(env_h5_drvr, "multi")) ||
- (0 == HDstrcmp(env_h5_drvr, "split"))) {
+ if ((0 == HDstrcmp(env_h5_drvr, "multi")) || (0 == HDstrcmp(env_h5_drvr, "split"))) {
SKIPPED()
HDputs("Skip VFD SWMR test because paged aggregation is disabled for multi/split drivers");
@@ -3443,14 +3483,14 @@ main(void)
/* Set up */
h5_reset();
- if((fapl = h5_fileaccess()) < 0) {
+ if ((fapl = h5_fileaccess()) < 0) {
nerrors++;
PUTS_ERROR("Can't get VFD-dependent fapl")
} /* end if */
nerrors += test_fapl();
- if(use_file_locking) {
+ if (use_file_locking) {
nerrors += test_shadow_index_lookup();
nerrors += test_file_fapl();
@@ -3473,7 +3513,7 @@ main(void)
nerrors += test_file_end_tick_concur();
}
- if(nerrors)
+ if (nerrors)
goto error;
HDputs("All VFD SWMR tests passed.");
@@ -3481,12 +3521,13 @@ main(void)
HDexit(EXIT_SUCCESS);
error:
- HDprintf("***** %d VFD SWMR TEST%s FAILED! *****\n",
- nerrors, nerrors > 1 ? "S" : "");
+ HDprintf("***** %d VFD SWMR TEST%s FAILED! *****\n", nerrors, nerrors > 1 ? "S" : "");
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(fapl);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
HDexit(EXIT_FAILURE);
}