diff options
author | mainzer <mainzer#hdfgroup.org> | 2017-08-15 20:54:34 (GMT) |
---|---|---|
committer | mainzer <mainzer#hdfgroup.org> | 2017-08-15 20:54:34 (GMT) |
commit | 85699e41c26e27fa0259a631a04388790b6e82ae (patch) | |
tree | 10d67889cf8f52707faaeb6c05b154b2a3f94044 /src/H5C.c | |
parent | af3474f05e89ecd13fd3e6a3b1fdf0556286c3f5 (diff) | |
download | hdf5-85699e41c26e27fa0259a631a04388790b6e82ae.zip hdf5-85699e41c26e27fa0259a631a04388790b6e82ae.tar.gz hdf5-85699e41c26e27fa0259a631a04388790b6e82ae.tar.bz2 |
Updated H5C__flush_single_entry() in H5C.c to correct
duplicate metadata write bug observed in 1.10.1.
Tested parallel/production on jelly
parallel/debug & parallel/production on charis (in develop branch)
Diffstat (limited to 'src/H5C.c')
-rw-r--r-- | src/H5C.c | 26 |
1 files changed, 18 insertions, 8 deletions
@@ -6273,17 +6273,27 @@ H5C__flush_single_entry(H5F_t *f, hid_t dxpl_id, H5C_cache_entry_t *entry_ptr, HGOTO_ERROR(H5E_CACHE, H5E_CANTINSERT, FAIL, "unable to insert skip list item") } /* end if */ else + { #endif /* H5_HAVE_PARALLEL */ - if(entry_ptr->prefetched) { - HDassert(entry_ptr->type->id == H5AC_PREFETCHED_ENTRY_ID); - mem_type = cache_ptr->class_table_ptr[entry_ptr->prefetch_type_id]->mem_type; - } /* end if */ - else - mem_type = entry_ptr->type->mem_type; + if(entry_ptr->prefetched) { + HDassert(entry_ptr->type->id == H5AC_PREFETCHED_ENTRY_ID); + mem_type = cache_ptr-> + class_table_ptr[entry_ptr->prefetch_type_id]-> + mem_type; + } /* end if */ + else + mem_type = entry_ptr->type->mem_type; - if(H5F_block_write(f, mem_type, entry_ptr->addr, entry_ptr->size, dxpl_id, entry_ptr->image_ptr) < 0) - HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't write image to file") + if(H5F_block_write(f, mem_type, entry_ptr->addr, + entry_ptr->size, dxpl_id, + entry_ptr->image_ptr) < 0) + + HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, \ + "Can't write image to file") +#ifdef H5_HAVE_PARALLEL + } +#endif /* H5_HAVE_PARALLEL */ } /* end if */ /* if the entry has a notify callback, notify it that we have |