summaryrefslogtreecommitdiffstats
path: root/src/H5Eterm.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r12549] Description:Quincey Koziol2006-08-071-112/+113
| | | | | | | | | | Add support for entire heap deletion. Platforms tested: FreeBSD 4.11 (sleipnir) Linux/32 2.4 (chicago) Linux/64 2.4 (mir) Mac OS X (amazon)
* [svn-r12528] Added User-Defined links to the library.James Laird2006-08-021-108/+113
| | | | | | | | | | | | | | Users can create external links using H5L_create_external(). These links point to an object in another HDF5 file. Users can alter the behavior of external links or create new kinds of links by registering callbacks using the H5L interface. Added tests, tools support, etc. Also a number of other, minor changes have been made (some restructuring of the H5L interface, for instance). Additional documentation and examples are forthcoming.
* [svn-r12462] Committed a variety of metadata cache related changes:John Mainzer2006-07-131-135/+137
| | | | | | | | | | | | | | | | | | | | | | 1) Added trace file support to the metadata cache. This allows capture of all metadata cache calls in trace files for purposes of optimization and debuging. 2) Added an expunge entry function. This allows an entry to be deleteded from the cache without writing it to disk even if it is dirty. 3) Added a function call to resize pinned entries. 4) Added code to deal with entries that are dirty on load. This is needed in support of a bug fix which can alter object headers on load to repair files. 5) Added progress reporting code to the "MDC API smoke check" test in cache_api.c. To enable the progress reporting, set report_progress to TRUE in mdc_api_call_smoke_check(). Tested with h5committest, and a parallel test on phoenix (dual athelon linux box).
* [svn-r12440] Purpose:Quincey Koziol2006-06-271-133/+133
| | | | | | | | | | | Code cleanup Description: Trim trailing whitespace in Makefile.am and C/C++ source files to make diffing changes easier. Platforms tested: None necessary, whitespace only change
* [svn-r12424] Purpose:Quincey Koziol2006-06-191-1/+3
| | | | | | | | | | | | | | | | | Code checkpoint Description: Add in more new features for the fractal heap code, mostly bringing in more ability for deleting objects (which isn't completely working yet). Also, checkpoint free space manager code, which is essentially complete (although it needs some more work after the metadata cache has some additional features) Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (chicago) h5committest
* [svn-r12362] Purpose:Quincey Koziol2006-05-221-1/+7
| | | | | | | | | | | | | | | | | | | | | Code checkpoint Description: Update fractal heap code to allow objects to be deleted Fix bugs in fractal heap object insertion Improve free space manager code to allow sections to be merged and shrink the container Another try at making the Windows compilers happy... Platforms tested: FreeBSD 4.11 (sleipnir) Mac OS X.4/PPC (amazon) Linux 2.4 (chicago & heping) Solaris 2.9 (shanti) AIX 5.? (copper) w/parallel
* [svn-r12349] Purpose:Quincey Koziol2006-05-151-0/+1
| | | | | | | | | | | | | | | Code checkpoint Description: Checkpoint fractal heap improvements, as well as move the free space manager code that it's using into a separate package. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4/64 (mir) w/C++ & FORTRAN Linux 2.4/32 (heping) Solaris 2.9 (shanti) AIX 5.? (copper) w/FORTRAN & parallel
* [svn-r12311] Purpose:John Mainzer2006-04-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Add pinned entry capability to cache. Description: For frequently accessed cache entries, the protect/unprotect overhead is sometimes a bottleneck. Solution: Allow entries to be pinned in the cache. Pinned entries can't be evicted, but can be flushed or modified. Platforms tested: h5committested -- minus one small typo in test/cache.c whose fix was tested on copper and heping only. Misc. update:
* [svn-r12293] Purpose:Quincey Koziol2006-04-211-1/+2
| | | | | | | | | | Bug fix Description: Fix missing error code from flexible parallel removal Platforms tested: IBM AIX (copper) w/parallel
* [svn-r12292] Purpose:Quincey Koziol2006-04-201-7/+1
| | | | | | | | | | | | | Code maintenance Description: Remove flexible parallel code Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (heping) Solaris 2.9 (shanti) Linux 2.4/64 (mir)
* [svn-r12258] Purpose:Quincey Koziol2006-04-151-1/+2
| | | | | | | | | | | | | | | | | | | Code checkpoint Description: Add in more fractal heap support for odd allocation patterns (entries that are too large for various block sizes, etc.) Broke out fractal heap code into more source code modules. Refactored fractal heap test to make it more understandable and maintainable for the long term. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (heping) Linux 2.4/64 (mir) Solaris 2.9 (shanti)
* [svn-r12131] Purpose:Quincey Koziol2006-03-221-1/+2
| | | | | | | | | | | | Code update Description: Add new minor error, for heap metadata operations. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (chicago) Mac OSX (amazon)
* [svn-r12115] Purpose: Change codes in a more appropriate way.Raymond Lu2006-03-171-6/+6
| | | | | | | | | | | | Description: Yesterday, H5E_NONE_MAJOR and H5E_NONE_MINOR were added to error API by hand. Solution: Today, correct the change by hand with the tool hdf5/bin/make_err. The change by hand is only in src/H5err.txt. Platforms tested: fuss - simple change. Misc. update:
* [svn-r12109] Purpose: Backward compatibility supportRaymond Lu2006-03-161-2/+6
| | | | | | | | | Description: Added H5E_NONE_MAJOR and H5E_NONE_MINOR as a major and minor error message. Their messages are "no error", but because the old library had them, they're added in for backward compatibility. Platforms tested: fuss - simple change.
* [svn-r12079] Purpose:Quincey Koziol2006-03-111-1/+2
| | | | | | | | | | | Update code Description: Add a new error value, for later use. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor for full committest
* [svn-r11967] Purpose:Quincey Koziol2006-02-271-4/+0
| | | | | | | | | | | | | | | New feature Description: Check in initial "fractal heap" code, for supporting the group redesign. Also, remove some remnants of the segmented heap/block tracker/B+tree code which I didn't find during the last pass. Platforms tested: FreeBSD 4.11 (sleipnir) Mac OSX (amazon) Linux 2.4
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11384] Purpose:Quincey Koziol2005-09-121-1/+2
| | | | | | | | | | | | | | | | | | | | | Code cleanup Description: Merge back changes from "compact group" work that improve the infrastructure of the library and may impact others. In this round of merging, that includes: - Move datatype allocation into single internal routine, instead of duplicated code that was spread out in a dozen or so places. - Clean up guts of object header routines (H5O_*) to allow for some of the fancieroperations that need to be performed on groups, along with some general improvements. - Added a new error code - Some minor cleanups in other code.... Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Mac OS X
* [svn-r11277] Purpose:Quincey Koziol2005-08-201-123/+123
| | | | | | | | | | | | | | | Bug fix Description: Fix core dump when checking whether to invalidate the name of an object when unlinking an object in a group opened through an object reference. Solution: Check if names of various objects are valid before comparing them, etc. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-121/+121
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11195] Purpose:Albert Cheng2005-08-041-0/+3
| | | | | | | | | | | | | | | Feature. Description: Added HSYS_ERROR macro to retrieve and push system error message to the error stack. Added the related H5E_SYSERRSTR error code. This allows system error messages be shown to users too. Thus give a better explanation of what the errors are. Platforms tested: h5committested.
* [svn-r10195] Purpose:Quincey Koziol2005-03-111-1/+2
| | | | | | | | | | | New feature Description: Add feature to modify an existing record in a B-tree Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10187] Purpose:Quincey Koziol2005-03-111-4/+3
| | | | | | | | | | | | | Code cleanup, mostly Description: Remove remaining TBBT error info Add new error code for block tracker Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10184] Purpose:Quincey Koziol2005-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | New feature Description: Add new "block tracker" data structure to library, for tracking blocks of bytes in a file. Block trackers will be used to keep track of the blocks belonging to the soon-to-be-implemented "segmented heap" which is designed to replace the current local & global heaps (starting with the local heap). Block trackers will also keep track of the free space in the segmented heap and someday could be used to track the free space in the entire HDF5 file. They are implemented as a small header of information to cache the state of the blocks (max & min sizes of blocks tracked, etc.) and the records of the blocks themselves are stored in a v2 B-tree. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti) h5committest
* [svn-r10153] Purpose:Quincey Koziol2005-03-051-0/+1
| | | | | | | | | | | | New feature Description: Allow records in internal nodes to be removed, not just records in leaf nodes. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r9971] Purpose:Quincey Koziol2005-02-091-87/+88
| | | | | | | | | | | | New feature Description: Checkpoint v2 B-tree code after getting 2 leaf record redistribution working and tested. Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r9655] Snapshot version 1.7 release 44HDF Admin2004-12-121-87/+87
|
* [svn-r9580] Purpose:Quincey Koziol2004-11-271-1/+7
| | | | | | | | | | | | | | | | | | | | Add new internal data structure Description: Add an implementation of skip lists to the library (see comment in src/H5SL.c for references to the papers describing them) as a potential replacement for our current threaded, balanced binary tree container. Skip lists are much simpler to implement and should be faster to use. Also, added new error codes to release branch, so bump the minor version number to indicate that the library is no longer perfectly compatible with the 1.6.3 release. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require further testing (the skip lists aren't actually used by any library code yet)
* [svn-r9329] James Laird2004-09-281-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: Feature Description: Datatypes and groups now use H5FO "file object" code that was previously only used by datasets. These objects will hold a file open if the file is closed but they have not yet been closed. If these objects are unlinked then relinked, they will not be destroyed. If they are opened twice (even by two different names), both IDs will "see" changes made to the object using the other ID. When an object is opened using two different names (e.g., if a dataset was opened under one name, then mounted and opened under its new name), calling H5Iget_name() on a given hid_t will return the name used to open that hid_t, not the current name of the object (this is a feature, and a change from the previous behavior of datasets). Solution: Used H5FO code that was already in place for datasets. Broke H5D_t's, H5T_t's, and H5G_t's into a "shared" struct and a private struct. The shared structs (H5D_shared_t, etc.) hold the object's information and are used by all IDs that point to a given object in the file. The private structs are pointed to by the hid_t and contain the object's group entry information (including its name) and a pointer to the shared struct for that object. This changed the naming of structs throughout the library (e.g., datatype->size is now datatype->shared->size). I added an updated H5Tinit.c to windows.zip. Platforms tested: Visual Studio 7, sleipnir, arabica, verbena Misc. update:
* [svn-r9208] Purpose: Bug fixRaymond Lu2004-09-041-1/+3
| | | | | | | | Description: A few items were left out when tried to restore the old Error API. There are also a few minor bug fixes. Platforms tested: arabica fuss h5committest.
* [svn-r8981] Purpose:Quincey Koziol2004-08-021-91/+91
| | | | | | | | | | | | | Code cleanup Description: Various minor tweaks to clean code up and bring it into closer syncronization with the release branch. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel h5committested IRIX64 6.5 (modi4)
* [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve ↵John Mainzer2004-07-021-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | performance. Description: Replaced the old metadata cache with a cache with a modified LRU replacement policy. This should improve the hit rate. Solution: Since we want to flush cache entries in increasing address order, I used the threaded binary B-tree code to store the cache entries. There is a fair bit of overhead here, so we may want to consider other options. While the code is designed to allow the support of other replacement algorithms, at present, only a modified version of LRU is supported. The modified LRU algorithm requires that a user selectable portion of the cache entries be clean. The clean entries are evicted first when writes are not permitted. If the pool of clean entries is used up, the cache grows beyond its user specified maximum size. The cache can also exceed its maximum size if the combined size of the protected (or locked) entries exceeds the maximum size of the cache. Platforms tested: eirene (serial, parallel, fp), h5committested Misc. update:
* [svn-r8781] James Laird2004-07-011-0/+2
| | | | | | | | | | | | | | | | Purpose: HDF5 now supports SZIP with no encoder. Description: SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled. Solution: Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC. Platforms tested: Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++) Misc. update:
* [svn-r7494] Purpose:Quincey Koziol2003-09-191-97/+97
| | | | | | | | | | | | | | | | | | Bug fix Description: Buffer for decoding superblock's driver information was too small when using some VFDs (like the multi-file VFD). Also made FPH5 code more portable and obvious when it's broadcasting the superblock from the captain process to the other clients. Solution: Allocate the buffer for the driver information dynamicly Platforms tested: Copper No h5committest because it's already working on other platforms.
* [svn-r7489] Purpose:Bill Wendling2003-09-181-96/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update Description: A lot of modifications for the FPHDF5 stuff: H5AC.c H5ACprivate.h - Removed AC_find (it's replaced with AC_protect and AC_unprotect). Added flushing if it's an FPHDF5 driver and we're doing an AC_set or AC_unprotect with the dirty flag set. H5B.c - Split up the B_flush function into different functions since the one function was doing serialization which is better left as a separate entity. H5D.c - Removed some FPHDF5 code that was incorrect H5F.c - Split up the F_flush function so that it no longer allocates file space. Created new functions (F_init_superblock, F_read_superblock, and F_write_superblock) for greater modularity and so that the FPHDF5 non-captain processes can read the superblock after the captain process writes it. H5FD.c - Error message correction. H5FDfphdf5.c - Removed MPI barrier call that wasn't needed. H5FPclient.c H5FPserver.c - Modified so that if a process requests data that isn't exactly aligned, we can return it if we have the block that contains the requested address. H5G.c H5Gent.c H5Gnode.c H5HL.c H5HLpkg.h H5HLprivate.h H5Oefl.c - Removed the H5HL_peek function since it was doing a (now unsafe) holding of the information in the cache. Replaced with protect and unprotect calls. H5TB.c - Error fix. The TB_dless function wasn't working properly. H5Gstab.c - Format change. H5err.txt H5Edefin.h H5Einit.h H5Epubgen.h H5Eterm.h - Added new error code. Platforms tested: Modi4 (paralle, Fortran) Sol (Fortran) Linux (C++, Fortran) Copper (Parallel, Fortran) Misc. update:
* [svn-r7380] Purpose:Quincey Koziol2003-08-181-0/+1
| | | | | | | | | | | New error Description: Added H5E_CANTCLOSEOBJ error Platforms tested: FreeBSD 4.8 (sleipnir) too minor to need h5committest
* [svn-r7355] Purpose:Quincey Koziol2003-08-131-0/+166
Code cleanup, etc. Description: Previously (in versions prior to 1.7), there were two locations to modify when an error was added to the library. Now, with the new error API, there were four. Solution: Created a single text file (src/H5err.txt) and a perl script (bin/make_err) which uses the text file to automatically create header files that are included in appropriate places in the library. This means that there is only one file (src/H5err.txt) which needs to be modified when a new error code is added to the library. The automatically generated headers depend on this file and the makefiles will take care of running the perl script to regenerate them when the text file changes, so no user action is required when a new error is added. Platforms tested: h5committested