diff options
Diffstat (limited to 'src/H5FDmulti.c')
-rw-r--r-- | src/H5FDmulti.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c index 45ee689..c16c43a 100644 --- a/src/H5FDmulti.c +++ b/src/H5FDmulti.c @@ -123,14 +123,14 @@ static haddr_t H5FD_multi_get_eoa(H5FD_t *_file); static herr_t H5FD_multi_set_eoa(H5FD_t *_file, haddr_t eoa); static haddr_t H5FD_multi_get_eof(H5FD_t *_file); static herr_t H5FD_multi_get_handle(H5FD_t *_file, hid_t fapl, void** file_handle); -static haddr_t H5FD_multi_alloc(H5FD_t *_file, H5FD_mem_t type, hsize_t size); -static herr_t H5FD_multi_free(H5FD_t *_file, H5FD_mem_t type, haddr_t addr, +static haddr_t H5FD_multi_alloc(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size); +static herr_t H5FD_multi_free(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size); static herr_t H5FD_multi_read(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, size_t size, void *_buf/*out*/); static herr_t H5FD_multi_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, size_t size, const void *_buf); -static herr_t H5FD_multi_flush(H5FD_t *_file, unsigned closing); +static herr_t H5FD_multi_flush(H5FD_t *_file, hid_t dxpl_id, unsigned closing); /* The class struct */ static const H5FD_class_t H5FD_multi_g = { @@ -1267,10 +1267,6 @@ H5FD_multi_close(H5FD_t *_file) /* Clear the error stack */ H5Eclear(); - /* Flush our own data */ - if (H5FD_multi_flush(_file,TRUE)<0) - nerrors++; - /* Close as many members as possible */ ALL_MEMBERS(mt) { if (file->memb[mt]) { @@ -1579,7 +1575,7 @@ H5FD_multi_get_handle(H5FD_t *_file, hid_t fapl, void** file_handle) *------------------------------------------------------------------------- */ static haddr_t -H5FD_multi_alloc(H5FD_t *_file, H5FD_mem_t type, hsize_t size) +H5FD_multi_alloc(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size) { H5FD_multi_t *file = (H5FD_multi_t*)_file; H5FD_mem_t mmt; @@ -1589,7 +1585,7 @@ H5FD_multi_alloc(H5FD_t *_file, H5FD_mem_t type, hsize_t size) mmt = file->fa.memb_map[type]; if (H5FD_MEM_DEFAULT==mmt) mmt = type; - if (HADDR_UNDEF==(addr=H5FDalloc(file->memb[mmt], type, size))) { + if (HADDR_UNDEF==(addr=H5FDalloc(file->memb[mmt], type, dxpl_id, size))) { H5Epush_ret(func, H5E_INTERNAL, H5E_BADVALUE, "member file can't alloc", HADDR_UNDEF); } addr += file->fa.memb_addr[mmt]; @@ -1615,7 +1611,7 @@ H5FD_multi_alloc(H5FD_t *_file, H5FD_mem_t type, hsize_t size) *------------------------------------------------------------------------- */ static herr_t -H5FD_multi_free(H5FD_t *_file, H5FD_mem_t type, haddr_t addr, hsize_t size) +H5FD_multi_free(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size) { H5FD_multi_t *file = (H5FD_multi_t*)_file; H5FD_mem_t mmt; @@ -1628,7 +1624,7 @@ H5FD_multi_free(H5FD_t *_file, H5FD_mem_t type, haddr_t addr, hsize_t size) assert(addr>=file->fa.memb_addr[mmt]); assert(addr+size<=file->memb_next[mmt]); - return H5FDfree(file->memb[mmt], type, addr-file->fa.memb_addr[mmt], size); + return H5FDfree(file->memb[mmt], type, dxpl_id, addr-file->fa.memb_addr[mmt], size); } @@ -1760,7 +1756,7 @@ H5FD_multi_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, si *------------------------------------------------------------------------- */ static herr_t -H5FD_multi_flush(H5FD_t *_file, unsigned closing) +H5FD_multi_flush(H5FD_t *_file, hid_t dxpl_id, unsigned closing) { H5FD_multi_t *file = (H5FD_multi_t*)_file; H5FD_mem_t mt; @@ -1806,7 +1802,7 @@ H5FD_multi_flush(H5FD_t *_file, unsigned closing) for (mt=H5FD_MEM_SUPER; mt<H5FD_MEM_NTYPES; mt=(H5FD_mem_t)(mt+1)) { if (file->memb[mt]) { H5E_BEGIN_TRY { - if (H5FDflush(file->memb[mt],closing)<0) nerrors++; + if (H5FDflush(file->memb[mt],dxpl_id,closing)<0) nerrors++; } H5E_END_TRY; } } |