diff options
Diffstat (limited to 'src/H5Dchunk.c')
-rw-r--r-- | src/H5Dchunk.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 736f356..d90f705 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -181,7 +181,7 @@ static herr_t H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type static herr_t H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -static herr_t H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id, unsigned flags); +static herr_t H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id, hbool_t closing); static herr_t H5D_chunk_io_term(const H5D_chunk_map_t *fm); /* "Nonexistent" layout operation callback */ @@ -1944,7 +1944,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id, unsigned flags) +H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id, hbool_t closing) { H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */ H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ @@ -1969,16 +1969,17 @@ H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id, unsigned flags) /* Loop over all entries in the chunk cache */ for(ent = rdcc->head; ent; ent = next) { next = ent->next; - if((flags & H5F_FLUSH_CLOSING)) { + if(closing) { if(H5D_chunk_cache_evict(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0) nerrors++; - } else { + } /* end if */ + else { if(H5D_chunk_flush_entry(dset, dxpl_id, dxpl_cache, ent, FALSE) < 0) nerrors++; - } + } /* end else */ } /* end for */ if(nerrors) - HGOTO_ERROR(H5E_IO, H5E_CANTFLUSH, FAIL, "unable to flush one or more raw data chunks") + HGOTO_ERROR(H5E_DATASET, H5E_CANTFLUSH, FAIL, "unable to flush one or more raw data chunks") done: FUNC_LEAVE_NOAPI(ret_value) |