[svn-r27876] Description:

Make virtual layout return to the property list occur in all cases, even
on failure.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not needed on this branch)
This commit is contained in:
Quincey Koziol 2015-09-25 11:29:02 -05:00
parent 718b311c11
commit 10837a2a28

View File

@ -2251,14 +2251,15 @@ H5Pset_virtual(hid_t dcpl_id, hid_t vspace_id, const char *src_file_name,
/* Finish adding entry */
virtual_layout.storage.u.virt.list_nused++;
done:
/* Set VDS layout information in property list */
/* (Even on faliure, so there's not a mangled layout struct in the list) */
if(H5P_poke(plist, H5D_CRT_LAYOUT_NAME, &virtual_layout) < 0) {
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set layout")
if(old_list != virtual_layout.storage.u.virt.list)
free_list = TRUE;
} /* end if */
done:
/* Check if the entry has been partly allocated but not added to the
* property list or not included in list_nused */
if(ret_value < 0) {