summaryrefslogtreecommitdiffstats
path: root/src/H5O.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r13390] Description:Quincey Koziol2007-02-261-16/+31
| | | | | | | | Make H5O_protect/H5O_unprotect use pinned cache entries instead of protected entries (allowing the object header routines to be semi-reentrant). Tested on: FreeBSD 6.2 (duty)
* [svn-r13353] Description:Quincey Koziol2007-02-201-6/+5
| | | | | | | | | | | | Checkpoint progress on H5Aiterate2(). Mark H5Aiterate() as deprecated. Various code cleanups. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r13250] Description:Quincey Koziol2007-02-071-0/+2
| | | | | | | | | | Add support for inserting attributes into creation order index. Also, update support for dense link & attribute storage in h5debug. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13248] Description:Quincey Koziol2007-02-061-0/+5
| | | | | | | | | More progress on creation order for attribbutes - they are now basically working for "compact" attribute storage. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13245] Added "superblock extension" object header to hold shared ↵James Laird2007-02-061-0/+1
| | | | | | | | | object header information, rather than storing it directly in the superblock. This should make future updates to the superblock much less painful. Tested on Windows, kagiso, and smirom.
* [svn-r13243] Description:Quincey Koziol2007-02-061-5/+6
| | | | | | | | | Add API routines for tracking & indexing the creation order on attributes. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13240] Description:Quincey Koziol2007-02-051-13/+22
| | | | | | | | | | More cleanups on the object header message handling code, to make it easier to work with and move forward on the creation order coding. Various other minor cleanups & warning fixes. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13232] Description:Quincey Koziol2007-02-041-4/+4
| | | | | | | | | Remove the "scaffolding" for shared message method invocation and simplify the way shared messages are dealt with in general. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13177] Description:Quincey Koziol2007-01-231-1/+1
| | | | | | | | Final tweaks before the big twist to fix shared message method calling. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13155] Description:Quincey Koziol2007-01-191-73/+55
| | | | | | | | | | | | | | Add "set_crt_index" and "get_crt_index" methods for the object header message class. Unify fractal heap definitions for shared messages and attributes, under "object header" fractal heap definitions. Initial code for adding creation order index to object header messages. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13128] Description:Quincey Koziol2007-01-091-1/+1
| | | | | | | | | | More progress on address bugs in combinations of shared/committed/unshared components of shared/unshared attributes in compact/dense storage. (Yes, there are a lot of combinations. :-) Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13121] Description:Quincey Koziol2007-01-081-5/+2
| | | | | | | | | | Add support & tests for using shared datatypes with shared & un-shared attributes. Involves some fairly icky code to make the "copy on write" paradigm for shared attributes work. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [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