summaryrefslogtreecommitdiffstats
path: root/src/H5Dcompact.c
diff options
context:
space:
mode:
authorVailin Choi <vchoi@jam.ad.hdfgroup.org>2017-05-12 04:32:07 (GMT)
committerVailin Choi <vchoi@jam.ad.hdfgroup.org>2017-05-12 04:32:07 (GMT)
commit839bbd544a8cf11184e0d8429778ebf45c522d10 (patch)
treeff27d094517c6e1c119f038babe853271fc69ffe /src/H5Dcompact.c
parent13a3f09a931539ff5606a586a9668ffbf749d40b (diff)
downloadhdf5-839bbd544a8cf11184e0d8429778ebf45c522d10.zip
hdf5-839bbd544a8cf11184e0d8429778ebf45c522d10.tar.gz
hdf5-839bbd544a8cf11184e0d8429778ebf45c522d10.tar.bz2
Fix for HDFFV-10051
Fix for issue #2 reported in HDFFV-10051: The layout "dirty" flag for a compact dataset is not reset properly after flusing the data at dataset close. --Reset the "dirty" flag before flushing the message. Issue #1 reported in HDFFV-10051 is not a problem for 1.8.
Diffstat (limited to 'src/H5Dcompact.c')
-rw-r--r--src/H5Dcompact.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/H5Dcompact.c b/src/H5Dcompact.c
index 826daad..49c28a6 100644
--- a/src/H5Dcompact.c
+++ b/src/H5Dcompact.c
@@ -373,9 +373,11 @@ H5D__compact_flush(H5D_t *dset, hid_t dxpl_id)
/* Check if the buffered compact information is dirty */
if(dset->shared->layout.storage.u.compact.dirty) {
- if(H5O_msg_write(&(dset->oloc), H5O_LAYOUT_ID, 0, H5O_UPDATE_TIME, &(dset->shared->layout), dxpl_id) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to update layout message")
dset->shared->layout.storage.u.compact.dirty = FALSE;
+ if(H5O_msg_write(&(dset->oloc), H5O_LAYOUT_ID, 0, H5O_UPDATE_TIME, &(dset->shared->layout), dxpl_id) < 0) {
+ dset->shared->layout.storage.u.compact.dirty = TRUE;
+ HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to update layout message")
+ }
} /* end if */
done: