From 59fd8ea6c63499b98445fd0c27fbdc9c5a72ed16 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 11 Mar 2016 17:51:17 +0100 Subject: [PATCH] increment can now be specified for the core vfd driver --- src/Fortran/H5.c | 9 +++++---- src/h5core/h5_openclose.c | 6 ++++-- src/h5core/h5_types_private.h | 3 ++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/Fortran/H5.c b/src/Fortran/H5.c index f5b80f9..4199020 100644 --- a/src/Fortran/H5.c +++ b/src/Fortran/H5.c @@ -98,13 +98,14 @@ h5_setprop_file_mpio_posix ( H5_SETPROP_FILE_COREVFD) h5_int64_t h5_setprop_file_corevfd ( - h5_int64_t* _prop + h5_int64_t* _prop, + h5_int64_t* increment ) { H5_API_ENTER (h5_int64_t, - "prop=%lld", - (long long int)*_prop); + "prop=%lld, increment=%lld", + (long long int)*_prop, (long long int)*increment); h5_prop_t prop = (h5_prop_t)*_prop; - H5_API_RETURN ((h5_int64_t)h5_set_prop_file_core_vfd (prop)); + H5_API_RETURN ((h5_int64_t)h5_set_prop_file_core_vfd (prop, increment)); } #define h5_setprop_file_align FC_MANGLING ( \ diff --git a/src/h5core/h5_openclose.c b/src/h5core/h5_openclose.c index 9b72a16..e216768 100644 --- a/src/h5core/h5_openclose.c +++ b/src/h5core/h5_openclose.c @@ -246,10 +246,11 @@ h5_set_prop_file_mpio_posix ( h5_err_t h5_set_prop_file_core_vfd ( - h5_prop_t _props + h5_prop_t _props, + h5_int64_t increment ) { h5_prop_file_p props = (h5_prop_file_p)_props; - H5_CORE_API_ENTER (h5_err_t, "props=%p", props); + H5_CORE_API_ENTER (h5_err_t, "props=%p, increment=%lld", props, (long long int)increment); if (props->class != H5_PROP_FILE) { H5_INLINE_FUNC_LEAVE ( @@ -261,6 +262,7 @@ h5_set_prop_file_core_vfd ( props->flags &= ~(H5_VFD_MPIO_COLLECTIVE | H5_VFD_MPIO_INDEPENDENT | H5_VFD_MPIO_POSIX); props->flags |= H5_VFD_MPIO_INDEPENDENT; props->comm = MPI_COMM_SELF; + props->increment = increment; if (props->throttle > 0) { h5_warn ("Throttling is not permitted with core VFD. Reset throttling."); props->throttle = 0; diff --git a/src/h5core/h5_types_private.h b/src/h5core/h5_types_private.h index 0263138..594eb69 100644 --- a/src/h5core/h5_types_private.h +++ b/src/h5core/h5_types_private.h @@ -18,10 +18,11 @@ struct h5_prop { // generic property class char pad[248]; // sizeof (struct h5_prop) == 256 }; -struct h5_prop_file { // file property +struct h5_prop_file { // file property h5_int64_t class; // property class == H5_PROP_FILE h5_int64_t flags; // file access mode (read-write, readonly ... h5_int64_t align; // HDF5 alignment + h5_int64_t increment; // increment for core vfd h5_int64_t throttle; MPI_Comm comm; hid_t xfer_prop; // dataset transfer properties