summaryrefslogtreecommitdiffstats
path: root/src/H5O.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r13068] Ran bin/reconfigure. Some of the scripts have been changed or ↵James Laird2006-12-181-6/+6
| | | | | | | | | haven't been run in a while, so many of the source files were updated with tracing macros, etc. No code changes by me. Tested on kagiso and smirom.
* [svn-r13045] Description:Quincey Koziol2006-12-121-4/+4
| | | | | | | | | | | | | | Switch from using H5L_index_t/H5L_INDEX_<foo> to H5_index_t/H5_INDEX_<foo> in order to accommodate indices on aspects of attributes as well as links. Add basic support for deleting attributes in dense storage (needs more support/tests for shared attributes in dense storage still). Misc. cleanups, etc. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13028] Description:Quincey Koziol2006-12-061-4/+18
| | | | | | | | | | | | | | | | | Add first pass of "dense" attribute storage to objects. Lots of parts of this are stubbed out, but all the tests are passing and I'll work on the corner cases soon. Eliminated several unused parameters from object header message callback routines. Other, miscellaneous code cleanups, etc. (and probably some things I've forgotten about... :-) Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13020] Description:Quincey Koziol2006-12-041-3/+0
| | | | | | | | Make number of attributes tracking in object header prefix "live" Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13016] Description:Quincey Koziol2006-12-041-1185/+123
| | | | | | | | | | | Finish moving object header message routines into their own source code module, along with renaming them to have "H5O_msg_" prefix... Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13015] Description:Quincey Koziol2006-12-041-1048/+13
| | | | | | | | | | | Migrate more object header routines to use the H5O_msg_ prefix and put them into the src/H5Omessage.c code module. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13012] Description:Quincey Koziol2006-12-031-136/+151
| | | | | | | | | | | | | | Refactor object header code to separate process of creating an object header message from the process of writing to an existing one. Start renaming operations that deal with object header messages to have "H5O_msg_" prefix... Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13004] Much improved shared object header message test, along with ↵James Laird2006-12-011-30/+31
| | | | | | | | | | | some bug fixes to make the test pass. These changes involve changes to the file format of SOHMs, but that's okay because nobody should have been using SOHMs yet anyway. Tested on Windows, kagiso, copper, and heping
* [svn-r12997] Description:Quincey Koziol2006-11-291-32/+32
| | | | | | | | | | Rename too generic "H5O_FLAG_<foo>" flags that are used as flags for header messages to "H5O_MSG_FLAG_<foo>", in order to make their use clearer. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir)
* [svn-r12995] Description:Quincey Koziol2006-11-291-6/+2
| | | | | | | | | | | | Make the memory size of the max. compact & min. dense attribute storage variables align with the property list size, instead of the size on disk, to better handle big-endian machines. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper)
* [svn-r12994] Description:Quincey Koziol2006-11-291-8/+71
| | | | | | | | | | | | | | | Propagate object creation properties up into group, dataset and named datatype property lists, when those property lists are retrieved for existing objects in a file. Also, add H5Tget_create_plist() API routine, to allow named datatype property lists to be retrieved for named datatypes. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper)
* [svn-r12992] Description:Quincey Koziol2006-11-281-4/+31
| | | | | | | | | | | | | | | | | | Add fields for tracking attributes on objects to object header prefix, when using the latest version of the format. Reduce size used to store type of header message from 2 bytes to 1. (If we have >256 message types, we probably have a different problem... :-) Also, add "birth" time for object (i.e. creation time) [named to align with similar fields in file systems] Correct bug in H5Gget_objinfo() - retrieve the ctime field from object info, instead of the mtime field. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12990] Description:Quincey Koziol2006-11-281-42/+63
| | | | | | | | | | | When using the latest version of the file format, move the "modification time" information into the object header prefix, which is more efficient. Also add "access time" and "change time" (for metadata) fields, all of which take about the same space as the previous modification time header message. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12988] Description:Quincey Koziol2006-11-271-1/+2
| | | | | | | | | General cleanups, in preparation for adding some attribute-tracking fields to the object header prefix. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12977] Description:Quincey Koziol2006-11-271-14/+11
| | | | | | | | Added H5Gget_info[_by_idx] routines and deprecated H5Gget_num_objs routine. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12976] Description:Quincey Koziol2006-11-271-46/+12
| | | | | | | | | | | Add # of attributes to the object info struct and deprecate H5Aget_num_attrs(). Tested on: FreeBSd/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper)
* [svn-r12975] Description:Quincey Koziol2006-11-271-0/+1
| | | | | | | Cosmetic changes from running bin/reconfigure... Tested on: None - very minor..
* [svn-r12974] Description:Quincey Koziol2006-11-271-0/+68
| | | | | | | | | | | Add H5Oget_info() and H5Oget_info_by_idx() API routines & tests Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Mac OS X/32 10.4.8 (amazon) AIX/32 5.? (copper)
* [svn-r12973] Description:Quincey Koziol2006-11-251-104/+100
| | | | | | | | | | | | | | | Finish removing library's internal code that uses H5G_get_objinfo() and retarget it at either getting the link information or the object information, as appropriate. (Still need to add user-level tests for H5Oget_info(), but since several internal components of the library depend on the internal version, it appears to be working correctly). Tested on: FreeBSD/32 4.11 (sleipnir) Linux/322.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper) Mac OS X/32 10.4.8 (amazon)
* [svn-r12963] Description:Quincey Koziol2006-11-211-27/+131
| | | | | | | | | | Refactor internal code that retrieves the object's type to use the new H5O_type_t (which only definitions for object types, instead of links as well) instead of the older H5G_obj_t (which included links, etc.) Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12955] Description:Quincey Koziol2006-11-211-4/+4
| | | | | | | | Finish implementing H5Oopen_by_idx() (still needs tests) Tested on: Linux/32 2.4 (chicago) Linux/64 2.4 (chicago2)
* [svn-r12954] Description:Quincey Koziol2006-11-211-6/+81
| | | | | | | | Initial refactoring to prepare for H5Oopen_by_idx() API support. Tested on: Linux/32 2.4 (chicago) Linux/64 2.4 (chicago2)
* [svn-r12949] Description:Quincey Koziol2006-11-201-6/+6
| | | | | | | | | | | | | | | | Finish implementation of H5Literate() [still needs real tests] Clean up datatype macro warnings a bit more. Unify iterator callback macros and put up in public header file, with the iterator directions. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper)
* [svn-r12938] Description:Quincey Koziol2006-11-171-1772/+2
| | | | | | | | | | | | | | | | | Add src/H5Oalloc.c file forgotten in previous object header checkin Break out more object header routines into separate file (debugging routines this time). Fix "//" style comment in recent ISOHM source changes. Fix 'size_t' vs. 'unsigned' problem (visible in 64-bit testing) in recent ISOHM test changes. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir)
* [svn-r12933] Description:Quincey Koziol2006-11-171-657/+8
| | | | | | | | | | | Finish migrating "object copy" supporting routines into src/H5Ocopy. Clean up a few minor errors _en passant_ Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir)
* [svn-r12932] Description:Quincey Koziol2006-11-171-1/+1
| | | | | | | | | | | | Basic support for H5Literate() routine. Still needs to be fleshed out and refactored to simplify. Also, needs tests. :-) Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper) Mac OS X/32 10.4.8 (amazon)
* [svn-r12931] H5L_link is called inside H5O.c but the header file that ↵MuQun Yang2006-11-171-0/+1
| | | | | | | | | | | | | | | | | | declared this function is not included in this file. Windows compiler issued a bad warning that"H5L_link" is not defined but is called. So add header file "H5Lprivate.h" in H5O.c. Hopefully this is the right way. Tested on windows and tested the compiling on Linux. H5L_link is called inside H5O.c but the header file that declared this function is not included in this file. Windows compiler issued a bad warning that"H5L_link" is not defined but is called. So add header file "H5Lprivate.h" in H5O.c. Hopefully this is the right way. Tested on windows and tested the compiling on Linux. H5L_link is called inside H5O.c but the header file that declared this function is not included in this file. Windows compiler issued a bad warning that"H5L_link" is not defined but is called. So add header file "H5Lprivate.h" in H5O.c. Hopefully this is the right way. Tested on windows and tested the compiling on Linux.
* [svn-r12906] Description:Quincey Koziol2006-11-131-8/+5
| | | | | | | | | | | | | | | | Straighten out some convoluted code when links were being deleted, which could cause the "delete" callback for user-defined links to not get called when the group they were in was deleted. Had to compromise on the "delete" callback though - only calls the callback with the ID for the file the link is in, instead of the group, since the group is being held open upstream in the calling sequence during a group deletion and this prevents a group and its ID from being created. (This could possibly be worked around, but would cause a fair bit of havoc in the code and I'm not entirely certain it's worth it...) Tested on: Linux/32 2.6 (chicago)
* [svn-r12902] Checkin of Shared Object Header Message work.James Laird2006-11-131-120/+593
| | | | | | | | | | | | This feature is still in progress; Shared Object Header Messages are not complete as a feature and are not thoroughly tested. There are still "TODO" comments in the code (comments with the word "JAMES" in them, so as not to be confused with other TODO comments). Hopefully this checkin will reduce the liklihood of conflicts as I finish implementing this feature. All current tests pass on juniper, copper (parallel), heping, kagiso, and mir.
* [svn-r12869] Description:Quincey Koziol2006-11-061-300/+83
| | | | | | | | Rename new H5Gcopy() routine to H5Ocopy() as discussed in last Friday's design discussion. Tested on: Linux/32 2.6 (chicago)
* [svn-r12847] Corrected the comment describing H5Odecr_refcount's return value.James Laird2006-11-021-1/+1
| | | | Change only in comment block; no testing necessary.
* [svn-r12832] Description:Quincey Koziol2006-10-301-29/+33
| | | | | | | | | | Clean up formatting and re-organize a bit... Tested on: Max OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir)
* [svn-r12803] Description:Quincey Koziol2006-10-231-4/+7
| | | | | | | | | | | | | | Finish new version of the I/O pipeline message, which is much smaller than the previous version. This version is used with the "use the latest version of the format" flag. Closed several memory leaks/overruns (found with valgrind). Also, lots of compiler & formatting cleanups. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12801] Description:Quincey Koziol2006-10-231-330/+463
| | | | | | | | | | | | Fix several errors in the "latest version" of the object header format changes and enable the new version when requested now. Clean up several confusing or duplicated sections of code. Tested on: Linux/32 2.4 (heping) Linux/64 2.4 (mir) FreeBSD/32 4.11 (sleipnir)
* [svn-r12771] Description:Quincey Koziol2006-10-171-46/+327
| | | | | | | | | | | | | | | | | More fixes to make the I/O & memory operations more efficient when loading & flushing object header chunks. Add in concept of a chunk having a "gap" at the end - unused space that is not large enough to hold a full null message that describes it. Clean up formatting a bit. Latest version of object header format not enabled yet, still working on a few bugs... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12770] Description:Quincey Koziol2006-10-161-75/+103
| | | | | | | | | | | | | | | Overhaul usage of object header chunks to reduce I/O operations and memory allocations. The object header prefix is now stored in the first object header chunk's "image" in memory. Also, lots of formatting cleanups. Taught h5debug tool about new object header format (which isn't enabled just yet). Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12761] Description:Quincey Koziol2006-10-161-276/+251
| | | | | | | | | | Refactor object header macros, in preparation for updating the format. Tested on: Mac OS/PPC 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) w/thread-safe Linux/32 2.4 (heping) w/C++ & FORTRAN Linux/64 2.4 (mir) w/1.6 compat & build-all
* [svn-r12756] Description:Quincey Koziol2006-10-121-57/+47
| | | | | | | | | | | | | | Clean up some object header code in advance of more major changes in the near future. Fix small initialization error in attribute message name buffer copy. Tweak down the default # of messages for new object headers. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/FORTRAN & C++ Mac OS/32 10.4.8 (amazon)
* [svn-r12708] Description:Quincey Koziol2006-10-031-0/+2
| | | | | | | | | | | | | | | | | | | Add the "use the latest version of the format" support to datatype messages. And a regression test to check that it's working. Also, found that we have been over-allocating space for compound datatype messages (when they have array datatypes or can use the latest version of the format) and trimmed the size back. Clean up datatype & dataspace encode/decode routines by having them allocate & release "fake" file structures, which gets them out of needing to "know" about the internals of file structures. Other minor whitespace/formatting cleanups, etc. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12706] Description:Quincey Koziol2006-10-021-1/+1
| | | | | | | | | Clean up some of the warnings on 64-bit Linux... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Too minor to require h5committest
* [svn-r12701] Description:Quincey Koziol2006-10-021-4/+2
| | | | | | | | Clean up formatting/whitespace Tested on: Mac OSX/32 10.4.8 (amazon) Too minor to require full h5committest
* [svn-r12700] Alert:Quincey Koziol2006-10-021-100/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | File format is not stable, don't keep files produced! Description: First stage of checkins modifying the format of groups to support creation order. Implement "dense" storage for links in groups. Try to clarify some of the symbols for the H5L API. Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest file format options (including "dense" link storage in groups) Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation order tracking in groups (although no index on creation order yet). Remove --enable-group-revision configure flag, as file format issues are now handled in a backwardly/forwardly compatible way. Clean up lots of compiler warnings and other minor formatting issues. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/FORTRAN & C++ Linux/64 2.4 (mir) w/enable-v1.6 compa Mac OSX/32 10.4.8 (amazon) AIX 5.3 (copper) w/parallel & FORTRAN
* [svn-r12694] Fixed a couple of typos in the comment block for H5Oincr_refcount.James Laird2006-09-291-2/+2
|
* [svn-r12693] Changed return values of H5O*_refcount functions to be herr_t ↵James Laird2006-09-291-7/+9
| | | | | | | | instead of int. Mostly cosmetic change. Testing on mir.
* [svn-r12686] Added compression to Packet Tables. Now both C and C++ packet ↵James Laird2006-09-261-0/+1
| | | | | | | | | | | | | | | | tables have an extra parameter that sets the deflate filter. Added tests, made examples use the new APIs. Cleaned up include files a little and removed some casts that I hope are superfluous. If anybody encounters strange errors in the packet table tests where the chunk size is set to some extremely large value, please let me know, but I was unable to reproduce this error on any system. Tested on mir, heping, sol, juniper, VS 6.0. Looked for the chunk size error on several other systems a month or two ago.
* [svn-r12681] Description:Quincey Koziol2006-09-261-178/+180
| | | | | | | Encode/decode object references in portable way. Tested on: Solaris/64 2.9 (shanti)
* [svn-r12680] Description:Quincey Koziol2006-09-251-68/+261
| | | | | | | | | Review, revise & checkin in Peter's latest round of object copy changes, which add basic support for datasets & attributes with reference datatypes. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12596] Refactored how external files are opened and closed.James Laird2006-08-181-8/+94
| | | | | | | | Object header locations (H5O_loc_t's) can now "hold open" a file and decrement its open object count when they close. This means that locations (H5O_loc_t's and H5G_loc_t's) should always be freed. Added more thorough tests to ensure that external files are closed.
* [svn-r12528] Added User-Defined links to the library.James Laird2006-08-021-1/+399
| | | | | | | | | | | | | | 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-r12474] Quincey Koziol2006-07-151-2/+3
| | | | | | | | Clean up some compiler warnings. Tested on: FreeBSD 4.11 (sleipnir) Too minor to require h5committest