diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2014-04-23 19:10:11 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2014-04-23 19:10:11 (GMT) |
commit | cd973218bf779af5b3ccbc171d708c15edb69c19 (patch) | |
tree | 643b456d3718a58677b73fda531c359bcf31a590 /src/H5Fio.c | |
parent | 897806f3c7f8fb59b8d33ef54f6a32c4d7647318 (diff) | |
download | hdf5-cd973218bf779af5b3ccbc171d708c15edb69c19.zip hdf5-cd973218bf779af5b3ccbc171d708c15edb69c19.tar.gz hdf5-cd973218bf779af5b3ccbc171d708c15edb69c19.tar.bz2 |
[svn-r25088] Description:
Introduce "file I/O info" struct, to hold file & dxpl pointers, and start
propagating up through library.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & parallel
(h5committest coming)
Diffstat (limited to 'src/H5Fio.c')
-rw-r--r-- | src/H5Fio.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/H5Fio.c b/src/H5Fio.c index d494488..e9c5fb7 100644 --- a/src/H5Fio.c +++ b/src/H5Fio.c @@ -38,6 +38,7 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5FDprivate.h" /* File drivers */ +#include "H5Iprivate.h" /* IDs */ /****************/ @@ -95,6 +96,7 @@ herr_t H5F_block_read(const H5F_t *f, H5FD_mem_t type, haddr_t addr, size_t size, hid_t dxpl_id, void *buf/*out*/) { + H5F_io_info_t fio_info; /* I/O info for operation */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -108,8 +110,13 @@ H5F_block_read(const H5F_t *f, H5FD_mem_t type, haddr_t addr, size_t size, if(H5F_addr_le(f->shared->tmp_addr, (addr + size))) HGOTO_ERROR(H5E_IO, H5E_BADRANGE, FAIL, "attempting I/O in temporary file space") + /* Set up I/O info for operation */ + fio_info.f = f; + if(NULL == (fio_info.dxpl = (H5P_genplist_t *)H5I_object(dxpl_id))) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get property list") + /* Pass through metadata accumulator layer */ - if(H5F_accum_read(f, dxpl_id, type, addr, size, buf) < 0) + if(H5F__accum_read(&fio_info, type, addr, size, buf) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "read through metadata accumulator failed") done: |