diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2010-05-20 21:55:55 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2010-05-20 21:55:55 (GMT) |
commit | 2db0e8ecf33c397b39f9ab9327f5326e9b91fb54 (patch) | |
tree | 1e3680a95718f2e8b80e03107bf4ebf7465f2281 /src/H5detect.c | |
parent | 00aa7f1d8a39d900e90e1f68a58c7bce7eb3b113 (diff) | |
download | hdf5-2db0e8ecf33c397b39f9ab9327f5326e9b91fb54.zip hdf5-2db0e8ecf33c397b39f9ab9327f5326e9b91fb54.tar.gz hdf5-2db0e8ecf33c397b39f9ab9327f5326e9b91fb54.tar.bz2 |
[svn-r18868] Purpose: Fix bug in dataset shrinking algorithm
Description:
Previously, it was possible for a chunk to be flushed due to chunk operations in
the callback from H5B_iterate in H5D_chunk_prune_by_extent. Because flushing
the chunk can force it to be reallocated if it is filtered, this can change the
contents of the chunk b-tree in the middle of H5B_iterate. Because H5B_iterate
uses a locally cached copy of the b-tree, this causes subsequent operations
to be passed incorrect data. Rewrote H5D_chunk_prune_by_extent to avoid
H5B_iterate entirely.
Also fixed a bug in the dataset expand algorithm that could cause extra chunks
to be created.
Tested: jam, linew, smirom (h5committest)
Diffstat (limited to 'src/H5detect.c')
0 files changed, 0 insertions, 0 deletions