summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2009-01-11 17:23:21 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2009-01-11 17:23:21 (GMT)
commite5630f3351dd32cac2da76985d69c13658152a98 (patch)
tree8312f67a206ad02c09a07277029a05f9cd9c914d /test
parentb5008f9e3f176fd53b75d8d9c2492002d5ae6c27 (diff)
downloadhdf5-e5630f3351dd32cac2da76985d69c13658152a98.zip
hdf5-e5630f3351dd32cac2da76985d69c13658152a98.tar.gz
hdf5-e5630f3351dd32cac2da76985d69c13658152a98.tar.bz2
[svn-r16296]
Disable more file drivers incompatible with family file driver in external_set_elink_cb in links.c. Tested: jam check-vfd
Diffstat (limited to 'test')
-rw-r--r--test/links.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/test/links.c b/test/links.c
index 092cdac..d807352 100644
--- a/test/links.c
+++ b/test/links.c
@@ -4121,7 +4121,7 @@ external_set_elink_cb_cb(const char *parent_file, const char *parent_group,
static int
external_set_elink_cb(hid_t fapl, hbool_t new_format)
{
- hid_t file1, file2, group, gapl, fam_fapl, ret_fapl;
+ hid_t file1, file2, group, gapl, fam_fapl, ret_fapl, base_driver;
set_elink_cb_t op_data,
*op_data_p;
H5L_elink_traverse_t cb;
@@ -4138,7 +4138,12 @@ external_set_elink_cb(hid_t fapl, hbool_t new_format)
op_data.parent_file = filename1;
op_data.target_file = filename2;
/* Core file driver has issues when used as the member file driver for a family file */
- op_data.base_fapl = H5Pget_driver(fapl) == H5FD_CORE ? H5P_DEFAULT : fapl;
+ /* Family file driver cannot be used with family or multi drivers for member files */
+ /* Also disable parellel member drivers, because IS_H5FD_MPI whould report FALSE, causing problems */
+ base_driver = H5Pget_driver(fapl);
+ op_data.base_fapl = (base_driver == H5FD_FAMILY || base_driver == H5FD_MULTI
+ || base_driver == H5FD_MPIO || base_driver == H5FD_MPIPOSIX
+ || base_driver == H5FD_CORE) ? H5P_DEFAULT : fapl;
op_data.fam_size = ELINK_CB_FAM_SIZE;
op_data.code = 0;