diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2008-10-15 03:53:09 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2008-10-15 03:53:09 (GMT) |
commit | 8f3811e1b172b208d38ff4328101d43fc8b8fa2a (patch) | |
tree | 5eb956d9eb7f1cc5aefe88f8123bfb12d273a343 /src/H5MF.c | |
parent | c7bc8d9d2841e712b61f67c3f13f4475294874a9 (diff) | |
download | hdf5-8f3811e1b172b208d38ff4328101d43fc8b8fa2a.zip hdf5-8f3811e1b172b208d38ff4328101d43fc8b8fa2a.tar.gz hdf5-8f3811e1b172b208d38ff4328101d43fc8b8fa2a.tar.bz2 |
[svn-r15869] Description:
Bring r15868 from trunk to 1.8 release branch:
Correct a minor error in file free space allocation which was affecting
the 'multi' VFD and preventing some tests from fully working with it.
Wholesale revisitation of all the places where tests were disabled
with various VFDs and remove or correct all these so that _only_ the tests
which _really_ can't work with particular VFDs are skipped during a
'make check-vfd' test.
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src/H5MF.c')
-rw-r--r-- | src/H5MF.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -167,15 +167,25 @@ H5MF_init_merge_flags(H5F_t *f) /* Based on mapping type, initialize merging flags for each free list type */ switch(mapping_type) { case H5MF_AGGR_MERGE_SEPARATE: + /* Don't merge any metadata together */ HDmemset(f->shared->fs_aggr_merge, 0, sizeof(f->shared->fs_aggr_merge)); + + /* Check if merging raw data should be allowed */ + if(H5FD_MEM_DRAW == f->shared->fs_type_map[H5FD_MEM_DRAW] || + H5FD_MEM_DEFAULT == f->shared->fs_type_map[H5FD_MEM_DRAW]) + f->shared->fs_aggr_merge[H5FD_MEM_DRAW] = H5F_FS_MERGE_RAWDATA; break; case H5MF_AGGR_MERGE_DICHOTOMY: + /* Merge all metadata together (but not raw data) */ HDmemset(f->shared->fs_aggr_merge, H5F_FS_MERGE_METADATA, sizeof(f->shared->fs_aggr_merge)); + + /* Allow merging raw data allocations together */ f->shared->fs_aggr_merge[H5FD_MEM_DRAW] = H5F_FS_MERGE_RAWDATA; break; case H5MF_AGGR_MERGE_TOGETHER: + /* Merge all allocation types together */ HDmemset(f->shared->fs_aggr_merge, (H5F_FS_MERGE_METADATA | H5F_FS_MERGE_RAWDATA), sizeof(f->shared->fs_aggr_merge)); break; } /* end switch */ |