mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-05 15:42:32 +08:00
Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~jhenderson/hdf5 into develop
This commit is contained in:
commit
65a704167c
@ -213,7 +213,7 @@ my (@curver) = getvers $contents;
|
||||
# Determine the new version number.
|
||||
my @newver; #new version
|
||||
if ($set) {
|
||||
if ($set =~ /(\d+)\.(\d+)\.(\d+)(-([a-zA-Z]\w*))?/) {
|
||||
if ($set =~ /(\d+)\.(\d+)\.(\d+)(-([\da-zA-Z]\w*))?/) {
|
||||
@newver = ($1, $2, $3, $5);
|
||||
} elsif ($set =~ /(\d+)\D+(\d+)\D+(\d+)(\s*\(([a-zA-Z]\w*)\))?\D*$/) {
|
||||
@newver = ($1, $2, $3, $5);
|
||||
|
@ -306,9 +306,10 @@ fi
|
||||
|
||||
# Version-specific g++ flags
|
||||
|
||||
|
||||
# Append more extra warning flags that only gcc 4.9+ know about
|
||||
-Wopenmp-simd"
|
||||
# This flag was left behind when moving warnings flags to common files for
|
||||
# both autotools and CMake.
|
||||
# # Append more extra warning flags that only gcc 4.9+ know about
|
||||
# -Wopenmp-simd"
|
||||
|
||||
# Clear cxx info if no flags set
|
||||
if test "X$cxx_flags_set" = "X"; then
|
||||
|
@ -139,7 +139,7 @@ if test "X-gfortran" = "X-$f9x_vendor"; then
|
||||
# General #
|
||||
###########
|
||||
|
||||
H5_FCFLAGS="$H5_CFLAGS $(load_gnu_arguments gfort-general)"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-general)"
|
||||
|
||||
#############################
|
||||
# Version-specific warnings #
|
||||
|
@ -244,29 +244,29 @@ if test "X-gcc" = "X-$cc_vendor"; then
|
||||
# gcc >= 4.5
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 5; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.5)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.5)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.5)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.5)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.5)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.6
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 6; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.6)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.6)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.6)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.6)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.6)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.7
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 7; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.7)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.7)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.7)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.7)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.7)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.8
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 8; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.8)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.8)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.8)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-4.8)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-4.8)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.9
|
||||
@ -288,15 +288,15 @@ if test "X-gcc" = "X-$cc_vendor"; then
|
||||
# gcc >= 7
|
||||
if test $cc_vers_major -ge 7; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 7)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-7)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-7)"
|
||||
fi
|
||||
|
||||
# gcc 8
|
||||
if test $cc_vers_major -ge 8; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 8)"
|
||||
H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-8)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-8)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-8)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-8)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments no-developer-8)"
|
||||
fi
|
||||
|
||||
# gcc 9
|
||||
|
@ -1402,7 +1402,7 @@ H5D__create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id,
|
||||
ret_value = new_dset;
|
||||
|
||||
done:
|
||||
if(!ret_value && new_dset && new_dset->shared) {
|
||||
if(!ret_value && new_dset) {
|
||||
if(new_dset->shared) {
|
||||
if(layout_init)
|
||||
if(new_dset->shared->layout.ops->dest && (new_dset->shared->layout.ops->dest)(new_dset) < 0)
|
||||
@ -1425,11 +1425,11 @@ done:
|
||||
if(new_dset->shared->type) {
|
||||
if(new_dset->shared->type_id > 0) {
|
||||
if(H5I_dec_ref(new_dset->shared->type_id) < 0)
|
||||
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype")
|
||||
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release datatype")
|
||||
} /* end if */
|
||||
else {
|
||||
if(H5T_close_real(new_dset->shared->type) < 0)
|
||||
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype")
|
||||
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release datatype")
|
||||
} /* end else */
|
||||
} /* end if */
|
||||
|
||||
|
37
src/H5VL.c
37
src/H5VL.c
@ -903,7 +903,7 @@ H5VLfree_lib_state(void *state)
|
||||
|
||||
/* Check args */
|
||||
if(NULL == state)
|
||||
HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "invalid state pointer")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid state pointer")
|
||||
|
||||
/* Free the library state */
|
||||
if(H5VL_free_lib_state(state) < 0)
|
||||
@ -913,3 +913,38 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5VLfree_lib_state() */
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Function: H5VLquery_optional
|
||||
*
|
||||
* Purpose: Determine if a VOL connector supports a particular optional
|
||||
* callback operation.
|
||||
*
|
||||
* Return: Success: Non-negative
|
||||
* Failure: Negative
|
||||
*
|
||||
*---------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5VLquery_optional(hid_t obj_id, H5VL_subclass_t subcls, int opt_type, hbool_t *supported)
|
||||
{
|
||||
H5VL_object_t *vol_obj = NULL;
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_API(FAIL)
|
||||
H5TRACE4("e", "iVSIs*b", obj_id, subcls, opt_type, supported);
|
||||
|
||||
/* Check args */
|
||||
if(NULL == supported)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid supported pointer")
|
||||
if(NULL == (vol_obj = (H5VL_object_t *)H5I_object(obj_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid object identifier")
|
||||
|
||||
/* Query the connector */
|
||||
if(H5VL_introspect_opt_query(vol_obj, subcls, opt_type, supported) < 0)
|
||||
HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "unable to query VOL connector support")
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5VLquery_optional() */
|
||||
|
||||
|
@ -48,24 +48,6 @@
|
||||
/* Public Typedefs */
|
||||
/*******************/
|
||||
|
||||
/* Enum type for each VOL subclass */
|
||||
/* (Used for various queries, etc) */
|
||||
typedef enum H5VL_subclass_t {
|
||||
H5VL_SUBCLS_NONE, /* Operations outside of a subclass */
|
||||
H5VL_SUBCLS_INFO, /* 'Info' subclass */
|
||||
H5VL_SUBCLS_WRAP, /* 'Wrap' subclass */
|
||||
H5VL_SUBCLS_ATTR, /* 'Attribute' subclass */
|
||||
H5VL_SUBCLS_DATASET, /* 'Dataset' subclass */
|
||||
H5VL_SUBCLS_DATATYPE, /* 'Named datatype' subclass */
|
||||
H5VL_SUBCLS_FILE, /* 'File' subclass */
|
||||
H5VL_SUBCLS_GROUP, /* 'Group' subclass */
|
||||
H5VL_SUBCLS_LINK, /* 'Link' subclass */
|
||||
H5VL_SUBCLS_OBJECT, /* 'Object' subclass */
|
||||
H5VL_SUBCLS_REQUEST, /* 'Request' subclass */
|
||||
H5VL_SUBCLS_BLOB, /* 'Blob' subclass */
|
||||
H5VL_SUBCLS_TOKEN /* 'Token' subclass */
|
||||
} H5VL_subclass_t;
|
||||
|
||||
/* types for attribute GET callback */
|
||||
typedef enum H5VL_attr_get_t {
|
||||
H5VL_ATTR_GET_ACPL, /* creation property list */
|
||||
|
@ -48,6 +48,24 @@
|
||||
typedef int H5VL_class_value_t;
|
||||
|
||||
|
||||
/* Enum type for each VOL subclass */
|
||||
/* (Used for various queries, etc) */
|
||||
typedef enum H5VL_subclass_t {
|
||||
H5VL_SUBCLS_NONE, /* Operations outside of a subclass */
|
||||
H5VL_SUBCLS_INFO, /* 'Info' subclass */
|
||||
H5VL_SUBCLS_WRAP, /* 'Wrap' subclass */
|
||||
H5VL_SUBCLS_ATTR, /* 'Attribute' subclass */
|
||||
H5VL_SUBCLS_DATASET, /* 'Dataset' subclass */
|
||||
H5VL_SUBCLS_DATATYPE, /* 'Named datatype' subclass */
|
||||
H5VL_SUBCLS_FILE, /* 'File' subclass */
|
||||
H5VL_SUBCLS_GROUP, /* 'Group' subclass */
|
||||
H5VL_SUBCLS_LINK, /* 'Link' subclass */
|
||||
H5VL_SUBCLS_OBJECT, /* 'Object' subclass */
|
||||
H5VL_SUBCLS_REQUEST, /* 'Request' subclass */
|
||||
H5VL_SUBCLS_BLOB, /* 'Blob' subclass */
|
||||
H5VL_SUBCLS_TOKEN /* 'Token' subclass */
|
||||
} H5VL_subclass_t;
|
||||
|
||||
/********************/
|
||||
/* Public Variables */
|
||||
/********************/
|
||||
@ -70,7 +88,7 @@ H5_DLL hid_t H5VLget_connector_id_by_value(H5VL_class_value_t connector_value);
|
||||
H5_DLL ssize_t H5VLget_connector_name(hid_t id, char *name/*out*/, size_t size);
|
||||
H5_DLL herr_t H5VLclose(hid_t connector_id);
|
||||
H5_DLL herr_t H5VLunregister_connector(hid_t connector_id);
|
||||
|
||||
H5_DLL herr_t H5VLquery_optional(hid_t obj_id, H5VL_subclass_t subcls, int opt_type, hbool_t *supported);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -575,10 +575,11 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info)
|
||||
h5tools_set_vol_fapl(hid_t fapl_id, h5tools_fapl_info_t *fapl_info)
|
||||
{
|
||||
htri_t connector_is_registered;
|
||||
hid_t connector_id = H5I_INVALID_HID;
|
||||
void *vol_info = NULL;
|
||||
herr_t ret_value = SUCCEED;
|
||||
|
||||
switch (fapl_info->type) {
|
||||
@ -604,6 +605,11 @@ h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info)
|
||||
}
|
||||
}
|
||||
|
||||
/* Convert the info string */
|
||||
if (fapl_info->info_string)
|
||||
if (H5VLconnector_str_to_info(fapl_info->info_string, connector_id, &vol_info) < 0)
|
||||
H5TOOLS_GOTO_ERROR(FAIL, "can't get VOL info from string");
|
||||
|
||||
break;
|
||||
|
||||
case VOL_BY_ID:
|
||||
@ -628,6 +634,11 @@ h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info)
|
||||
}
|
||||
}
|
||||
|
||||
/* Convert the info string */
|
||||
if (fapl_info->info_string)
|
||||
if (H5VLconnector_str_to_info(fapl_info->info_string, connector_id, &vol_info) < 0)
|
||||
H5TOOLS_GOTO_ERROR(FAIL, "can't get VOL info from string");
|
||||
|
||||
break;
|
||||
|
||||
case VFD_BY_NAME:
|
||||
@ -635,10 +646,14 @@ h5tools_set_vol_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info)
|
||||
H5TOOLS_GOTO_ERROR(FAIL, "invalid VOL retrieval type");
|
||||
}
|
||||
|
||||
if (H5Pset_vol(fapl, connector_id, fapl_info->info) < 0)
|
||||
if (H5Pset_vol(fapl_id, connector_id, vol_info) < 0)
|
||||
H5TOOLS_GOTO_ERROR(FAIL, "can't set VOL connector on FAPL");
|
||||
|
||||
done:
|
||||
if (vol_info)
|
||||
if (H5VLfree_connector_info(connector_id, vol_info))
|
||||
H5TOOLS_ERROR(FAIL, "failed to free VOL connector-specific info");
|
||||
|
||||
if (ret_value < 0) {
|
||||
if (connector_id >= 0 && H5Idec_ref(connector_id) < 0)
|
||||
H5TOOLS_ERROR(FAIL, "failed to decrement refcount on VOL connector ID");
|
||||
@ -658,44 +673,44 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
hid_t
|
||||
h5tools_get_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info)
|
||||
h5tools_get_fapl(hid_t prev_fapl_id, h5tools_fapl_info_t *fapl_info)
|
||||
{
|
||||
hid_t new_fapl = H5I_INVALID_HID;
|
||||
hid_t new_fapl_id = H5I_INVALID_HID;
|
||||
hid_t ret_value = H5I_INVALID_HID;
|
||||
|
||||
if (fapl < 0)
|
||||
if (prev_fapl_id < 0)
|
||||
H5TOOLS_GOTO_ERROR(FAIL, "invalid FAPL");
|
||||
if (!fapl_info)
|
||||
H5TOOLS_GOTO_ERROR(FAIL, "invalid FAPL retrieval info");
|
||||
|
||||
/* Make a copy of the FAPL if necessary, or create a FAPL if
|
||||
* H5P_DEFAULT is specified. */
|
||||
if (H5P_DEFAULT == fapl) {
|
||||
if ((new_fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
|
||||
if (H5P_DEFAULT == prev_fapl_id) {
|
||||
if ((new_fapl_id = H5Pcreate(H5P_FILE_ACCESS)) < 0)
|
||||
H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "H5Pcreate failed");
|
||||
} /* end if */
|
||||
else {
|
||||
if ((new_fapl = H5Pcopy(fapl)) < 0)
|
||||
if ((new_fapl_id = H5Pcopy(prev_fapl_id)) < 0)
|
||||
H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "H5Pcopy failed");
|
||||
}
|
||||
|
||||
if (VFD_BY_NAME == fapl_info->type) {
|
||||
if (h5tools_set_vfd_fapl(new_fapl, fapl_info) < 0)
|
||||
if (h5tools_set_vfd_fapl(new_fapl_id, fapl_info) < 0)
|
||||
H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "failed to set VFD on FAPL");
|
||||
}
|
||||
else if (VOL_BY_NAME == fapl_info->type || VOL_BY_ID == fapl_info->type) {
|
||||
if (h5tools_set_vol_fapl(new_fapl, fapl_info) < 0)
|
||||
if (h5tools_set_vol_fapl(new_fapl_id, fapl_info) < 0)
|
||||
H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "failed to set VOL on FAPL");
|
||||
}
|
||||
else
|
||||
H5TOOLS_GOTO_ERROR(H5I_INVALID_HID, "invalid FAPL retrieval type");
|
||||
|
||||
ret_value = new_fapl;
|
||||
ret_value = new_fapl_id;
|
||||
|
||||
done:
|
||||
if ((new_fapl >= 0) && (ret_value < 0)) {
|
||||
H5Pclose(new_fapl);
|
||||
new_fapl = H5I_INVALID_HID;
|
||||
if ((new_fapl_id >= 0) && (ret_value < 0)) {
|
||||
H5Pclose(new_fapl_id);
|
||||
new_fapl_id = H5I_INVALID_HID;
|
||||
}
|
||||
|
||||
return ret_value;
|
||||
@ -887,9 +902,9 @@ h5tools_fopen(const char *fname, unsigned flags, hid_t fapl, hbool_t use_specifi
|
||||
for (volnum = 0; volnum < NUM_VOLS; volnum++) {
|
||||
h5tools_fapl_info_t vol_info;
|
||||
|
||||
vol_info.type = VOL_BY_NAME;
|
||||
vol_info.info = NULL;
|
||||
vol_info.u.name = volnames[volnum];
|
||||
vol_info.type = VOL_BY_NAME;
|
||||
vol_info.info_string = NULL;
|
||||
vol_info.u.name = volnames[volnum];
|
||||
|
||||
/* Get a FAPL for the current VOL connector */
|
||||
if ((tmp_vol_fapl = h5tools_get_fapl(fapl, &vol_info)) < 0)
|
||||
@ -912,9 +927,9 @@ h5tools_fopen(const char *fname, unsigned flags, hid_t fapl, hbool_t use_specifi
|
||||
if (drivernum == LOG_VFD_IDX)
|
||||
continue;
|
||||
|
||||
vfd_info.type = VFD_BY_NAME;
|
||||
vfd_info.info = NULL;
|
||||
vfd_info.u.name = drivernames[drivernum];
|
||||
vfd_info.type = VFD_BY_NAME;
|
||||
vfd_info.info_string = NULL;
|
||||
vfd_info.u.name = drivernames[drivernum];
|
||||
|
||||
/* Using the current VOL FAPL as a base, get the correct FAPL for the given VFL driver */
|
||||
if ((tmp_vfd_fapl = h5tools_get_fapl(tmp_vol_fapl, &vfd_info)) < 0)
|
||||
|
@ -549,7 +549,7 @@ typedef struct h5tools_fapl_info_t {
|
||||
h5tools_fapl_info_type_t type;
|
||||
|
||||
/* Pointer to information to be passed to the driver/connector for its setup */
|
||||
const void *info;
|
||||
const char *info_string;
|
||||
|
||||
/* Field specifying either the driver's/connector's name or ID */
|
||||
union {
|
||||
@ -637,7 +637,7 @@ H5TOOLS_DLL int h5tools_set_attr_output_file(const char *fname, int is_bin);
|
||||
H5TOOLS_DLL int h5tools_set_input_file(const char *fname, int is_bin);
|
||||
H5TOOLS_DLL int h5tools_set_output_file(const char *fname, int is_bin);
|
||||
H5TOOLS_DLL int h5tools_set_error_file(const char *fname, int is_bin);
|
||||
H5TOOLS_DLL hid_t h5tools_get_fapl(hid_t fapl, h5tools_fapl_info_t *fapl_info);
|
||||
H5TOOLS_DLL hid_t h5tools_get_fapl(hid_t prev_fapl_id, h5tools_fapl_info_t *fapl_info);
|
||||
H5TOOLS_DLL herr_t h5tools_get_vfd_name(hid_t fapl_id, char *drivername, size_t drivername_size);
|
||||
H5TOOLS_DLL hid_t h5tools_fopen(const char *fname, unsigned flags, hid_t fapl,
|
||||
hbool_t use_specific_driver, char *drivername, size_t drivername_size);
|
||||
|
@ -3283,8 +3283,6 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
|
||||
}
|
||||
else {
|
||||
haddr_t ioffset;
|
||||
void *obj = NULL;
|
||||
hid_t connector_id = H5I_INVALID_HID;
|
||||
hbool_t supported = FALSE;
|
||||
|
||||
/* NORMAL FILE */
|
||||
@ -3304,10 +3302,7 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info,
|
||||
/* Only dump the offset if the VOL connector implements
|
||||
* the functionality.
|
||||
*/
|
||||
obj = H5VLobject(dset_id);
|
||||
connector_id = H5VLget_connector_id(dset_id);
|
||||
H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_DATASET, H5VL_NATIVE_DATASET_GET_OFFSET, &supported);
|
||||
H5VLclose(connector_id);
|
||||
H5VLquery_optional(dset_id, H5VL_SUBCLS_DATASET, H5VL_NATIVE_DATASET_GET_OFFSET, &supported);
|
||||
|
||||
if (supported) {
|
||||
|
||||
@ -3732,15 +3727,11 @@ h5tools_dump_comment(FILE *stream, const h5tool_format_t *info, h5tools_context_
|
||||
* instead of the current stripmine position i; this is necessary
|
||||
* to print the array indices
|
||||
*/
|
||||
void *obj = NULL;
|
||||
hid_t connector_id = H5I_INVALID_HID;
|
||||
hbool_t supported = FALSE;
|
||||
|
||||
/* Check if comments are supported and return if not */
|
||||
obj = H5VLobject(obj_id);
|
||||
connector_id = H5VLget_connector_id(obj_id);
|
||||
H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported);
|
||||
H5VLclose(connector_id);
|
||||
H5VLquery_optional(obj_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported);
|
||||
|
||||
if (!supported)
|
||||
return;
|
||||
|
||||
|
@ -1418,9 +1418,9 @@ main(int argc, const char *argv[])
|
||||
h5tools_fapl_info_t fapl_info;
|
||||
|
||||
/* Currently, only retrieval of VFDs is supported. */
|
||||
fapl_info.type = VFD_BY_NAME;
|
||||
fapl_info.info = NULL;
|
||||
fapl_info.u.name = driver;
|
||||
fapl_info.type = VFD_BY_NAME;
|
||||
fapl_info.info_string = NULL;
|
||||
fapl_info.u.name = driver;
|
||||
|
||||
if (!HDstrcmp(driver, drivernames[ROS3_VFD_IDX])) {
|
||||
#ifdef H5_HAVE_ROS3_VFD
|
||||
|
@ -1136,8 +1136,6 @@ dump_fcpl(hid_t fid)
|
||||
unsigned sym_ik; /* symbol table B-tree internal 'K' value */
|
||||
unsigned istore_ik; /* indexed storage B-tree internal 'K' value */
|
||||
|
||||
void *obj = NULL;
|
||||
hid_t connector_id = H5I_INVALID_HID;
|
||||
hbool_t supported = FALSE;
|
||||
|
||||
/* Dumping the information here only makes sense for the native
|
||||
@ -1145,10 +1143,8 @@ dump_fcpl(hid_t fid)
|
||||
* use that as a proxy for "native-ness". If that isn't supported, we'll
|
||||
* just return.
|
||||
*/
|
||||
obj = H5VLobject(fid);
|
||||
connector_id = H5VLget_connector_id(fid);
|
||||
H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_FILE, H5VL_NATIVE_FILE_GET_INFO, &supported);
|
||||
H5VLclose(connector_id);
|
||||
H5VLquery_optional(fid, H5VL_SUBCLS_FILE, H5VL_NATIVE_FILE_GET_INFO, &supported);
|
||||
|
||||
if (!supported)
|
||||
return;
|
||||
|
||||
|
@ -2364,8 +2364,6 @@ list_obj(const char *name, const H5O_info2_t *oinfo, const char *first_seen, voi
|
||||
char* comment = NULL;
|
||||
char* obj_tok_str = NULL;
|
||||
ssize_t cmt_bufsize = -1;
|
||||
void *obj = NULL;
|
||||
hid_t connector_id = H5I_INVALID_HID;
|
||||
hbool_t supported = FALSE;
|
||||
|
||||
/* Display attributes */
|
||||
@ -2401,10 +2399,7 @@ list_obj(const char *name, const H5O_info2_t *oinfo, const char *first_seen, voi
|
||||
} /* end if */
|
||||
|
||||
/* Only emit comments if the VOL connector supports that */
|
||||
obj = H5VLobject(obj_id);
|
||||
connector_id = H5VLget_connector_id(obj_id);
|
||||
H5VLintrospect_opt_query(obj, connector_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported);
|
||||
H5VLclose(connector_id);
|
||||
H5VLquery_optional(obj_id, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_GET_COMMENT, &supported);
|
||||
|
||||
if (supported) {
|
||||
|
||||
@ -3156,9 +3151,9 @@ main(int argc, const char *argv[])
|
||||
h5tools_fapl_info_t fapl_info;
|
||||
|
||||
/* Currently, only retrieval of VFDs is supported. */
|
||||
fapl_info.type = VFD_BY_NAME;
|
||||
fapl_info.info = NULL;
|
||||
fapl_info.u.name = preferred_driver;
|
||||
fapl_info.type = VFD_BY_NAME;
|
||||
fapl_info.info_string = NULL;
|
||||
fapl_info.u.name = preferred_driver;
|
||||
|
||||
if (!HDstrcmp(preferred_driver, drivernames[ROS3_VFD_IDX])) {
|
||||
#ifdef H5_HAVE_ROS3_VFD
|
||||
|
@ -694,7 +694,7 @@ int parse_command_line(int argc, const char **argv, pack_opt_t* options)
|
||||
break;
|
||||
|
||||
case '3':
|
||||
in_vol_info.info = opt_arg;
|
||||
in_vol_info.info_string = opt_arg;
|
||||
break;
|
||||
|
||||
case '4':
|
||||
@ -710,7 +710,7 @@ int parse_command_line(int argc, const char **argv, pack_opt_t* options)
|
||||
break;
|
||||
|
||||
case '6':
|
||||
out_vol_info.info = opt_arg;
|
||||
out_vol_info.info_string = opt_arg;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1816,9 +1816,9 @@ main(int argc, const char *argv[])
|
||||
h5tools_fapl_info_t fapl_info;
|
||||
|
||||
/* Currently, only retrieval of VFDs is supported. */
|
||||
fapl_info.type = VFD_BY_NAME;
|
||||
fapl_info.info = NULL;
|
||||
fapl_info.u.name = drivername;
|
||||
fapl_info.type = VFD_BY_NAME;
|
||||
fapl_info.info_string = NULL;
|
||||
fapl_info.u.name = drivername;
|
||||
|
||||
if (!HDstrcmp(drivername, drivernames[ROS3_VFD_IDX])) {
|
||||
#ifdef H5_HAVE_ROS3_VFD
|
||||
|
Loading…
Reference in New Issue
Block a user