From e5630f3351dd32cac2da76985d69c13658152a98 Mon Sep 17 00:00:00 2001 From: Neil Fortner Date: Sun, 11 Jan 2009 12:23:21 -0500 Subject: [svn-r16296] Disable more file drivers incompatible with family file driver in external_set_elink_cb in links.c. Tested: jam check-vfd --- test/links.c | 9 +++++++-- 1 file 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; -- cgit v0.12