diff options
author | James Laird <jlaird@hdfgroup.org> | 2004-07-14 19:34:24 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2004-07-14 19:34:24 (GMT) |
commit | a0c466cd99e6d62725ac1828755b042c2dcb6c85 (patch) | |
tree | 8ef8956600e8765fe9a0fc96dcb5faa0798032e8 /test | |
parent | 769ee96c1fd7cdcc4de2f2b1f36e943ebf9fff8b (diff) | |
download | hdf5-a0c466cd99e6d62725ac1828755b042c2dcb6c85.zip hdf5-a0c466cd99e6d62725ac1828755b042c2dcb6c85.tar.gz hdf5-a0c466cd99e6d62725ac1828755b042c2dcb6c85.tar.bz2 |
[svn-r8877]
Purpose:
Bug Fix
Description:
If an HDF5 file grows larger than its address space, it dies and is unable to
write any data. This is more likely to happen since users are able to change
the number of bytes used to store addresses in the file.
Solution:
HDF5 now throws an error instead of dying. In addition, it "reserves" address
space for the local heap and for object headers (which do not allocate space
immediately). This ensures that after the error occurs, there is enough address
space left to flush the entire file to disk, so no data is lost.
A more complete explanation is at /doc/html/TechNotes/ReservedFileSpace.html
Platforms tested:
sleipnir, copper (parallel), verbena, arabica, Windows (Visual Studio 7)
Solution:
Platforms tested:
Misc. update:
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.in | 7 | ||||
-rw-r--r-- | test/lheap.c | 1 | ||||
-rw-r--r-- | test/ohdr.c | 1 |
3 files changed, 5 insertions, 4 deletions
diff --git a/test/Makefile.in b/test/Makefile.in index 1fe85e5..e19a60a 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -31,7 +31,7 @@ TEST_PROGS=testhdf5 lheap ohdr stab gheap cache hyperslab istore bittests \ dtypes dsets cmpd_dset extend external links unlink big mtime \ fillval mount flush1 flush2 enum gass_write gass_read gass_append \ set_extent srb_write srb_append srb_read ttsafe stream_test \ - getname file_handle ntypes dangle dtransform filename + getname file_handle ntypes dangle dtransform filename reserved ## Test programs for Error API. Only compile them but let testerror.sh run ## them to compare the output error messages with standard ones. 'make check' @@ -88,7 +88,7 @@ TEST_SRC=big.c bittests.c cache.c cmpd_dset.c dsets.c dtypes.c extend.c \ ttsafe_cancel.c ttsafe_acreate.c gass_write.c gass_read.c \ gass_append.c srb_read.c srb_write.c srb_append.c stream_test.c \ set_extent.c getname.c file_handle.c ntypes.c dangle.c error_test.c \ - err_compat.c dtransform.c filename.c + err_compat.c dtransform.c filename.c reserved.c TEST_OBJ=$(TEST_SRC:.c=.lo) @@ -245,4 +245,7 @@ dtransform: dtransform.lo filename: filename.lo @$(LT_LINK_EXE) $(CFLAGS) -o $@ filename.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS) +reserved: reserved.lo + @$(LT_LINK_EXE) $(CFLAGS) -o $@ reserved.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS) + @CONCLUDE@ diff --git a/test/lheap.c b/test/lheap.c index e1694ba..5fe6c1f 100644 --- a/test/lheap.c +++ b/test/lheap.c @@ -29,7 +29,6 @@ const char *FILENAME[] = { #define NOBJS 40 - /*------------------------------------------------------------------------- * Function: main * diff --git a/test/ohdr.c b/test/ohdr.c index a893d08..aa9259c 100644 --- a/test/ohdr.c +++ b/test/ohdr.c @@ -39,7 +39,6 @@ const char *FILENAME[] = { * the library and simply compile gen_bogus.c with that HDF5 library and run it. */ #define FILE_BOGUS "tbogus.h5" - /*------------------------------------------------------------------------- * Function: main * |