summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r12655] Description:Quincey Koziol2006-09-1111-907/+1275
| | | | | | | | | | | | Add "op" routine to perform operation on heap object "in situ", to allow for faster operations on dense links during B-tree traversal & lookup. Refactor the "read" routine to use the internal version of the "op" routine, to keep the code duplication as low as possible. Tested on: Mac OS X.4/PPC (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12651] Description:Quincey Koziol2006-09-065-71/+80
| | | | | | | | Clean up compiler warnings. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12650] Description:Elena Pourmal2006-09-055-13/+60
| | | | | | | | | Purify found some memory leaks in the code related to the HDF5 external links. James provided the fix and asked me to check it in. Tested: heping, mir, shanti, and juniper
* [svn-r12649] Description:Quincey Koziol2006-09-053-12/+128
| | | | | | | | | | | | Add a CRC algorithm to the library, initially for "small" (<256 byte) metadata blocks. Update checksum tests to verify it's working correctly. Tested: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) (Will be testing on more platforms after checkin)
* [svn-r12648] Description:Elena Pourmal2006-09-051-1/+2
| | | | | | | | | | | | | | This is VMS problem only. H5Dremove_all function was modified to use HDremove. Since HDremove is defined as HDremove_all in H5private.h, function became recursive causing all kinds of resource problems. Solution: Use "remove" instead. Platforms tested: VMS server
* [svn-r12647] Description:Quincey Koziol2006-09-051-2/+2
| | | | | | | | | Eliminate redundant "B-tree type" byte from internal & leaf nodes. May possibly improve B-tree density in rare circumstances... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12646] Description:Quincey Koziol2006-09-051-12/+2
| | | | | | | | | Remove some references to "twig" and "branch" internal B-tree nodes, which were eliminated in the previous checkin. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12645] Description:Quincey Koziol2006-09-054-59/+69
| | | | | | | | | | Enable the checksums on the free space tracker's metadata. Clean up a few compiler warnings from 64-bit machines. Tested: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12644] Description:Quincey Koziol2006-09-058-650/+299
| | | | | | | | | | | | | Improve density of the B-tree further. For greater depths of B-trees, the gains are over 100%... Also, don't split internal nodes with 3->4 splits, use a 1->2 split instead, so that the density of the nodes around a split is maximized. Tested: Mac OS X/PPC 10.4 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12640] Frank Baker2006-09-041-0/+16
| | | | | | | | Description: Add per-directory abbreviated copyright notices (abbreviated COPYING files pointing to full notices). Tested: MANIFEST verified; not otherwise tested.
* [svn-r12638] Description:Quincey Koziol2006-09-047-393/+382
| | | | | | | | | | | | Split edge nodes in the tree with a 1->2 node split, instead of a 2->3 node split, which creates a more dense tree when a pattern of record insertions occurs (because it leaves behind full nodes instead of 2/3 full nodes). Tested: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Linux/32 2.4 (heping) Solaris/64 2.9 (shanti)
* [svn-r12631] Description:Quincey Koziol2006-08-265-138/+302
| | | | | | | | | | | | | | | | | Refactor the file storage of "twig" nodes in the B-tree to allow them to store more records, increasing the average density of the B-tree 30-40%. Increase # of records in "insert lots" regression test to still create B-tree of depth 4 Update h5debug to interpret difference of 'branch' and 'twig' internal nodes in B-tree correctly. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12629] Description:Quincey Koziol2006-08-251-5/+17
| | | | | | | | Rearrange code to avoid compiler bugs on tg-login3 machine with gcc 3.2.2 Tested on: tg-login3
* [svn-r12625] Make sure that a return value in H5Fget_intent is initialized ↵James Laird2006-08-241-1/+1
| | | | correctly.
* [svn-r12623] Added H5Fget_intent() function to get the "intent" of a file ↵James Laird2006-08-243-1/+56
| | | | | | | | | (read/write or read-only). Added this to external links, so that external files are opened with the same intent as the source file. Added tests.
* [svn-r12619] Description:Quincey Koziol2006-08-234-66/+87
| | | | | | | | | | | Fix off-by-one error in computing the size of metadata prefixes for v2 B-tree internal & leaf nodes. General code cleanup and reformating. Tested On: Mac OS X.4/PPC (amazon) Too minor to require h5committest
* [svn-r12615] Description:Quincey Koziol2006-08-223-16/+81
| | | | | | | | Add checksum to v2 B-tree metadata. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12614] Description:Quincey Koziol2006-08-222-14/+14
| | | | | | | | Various minor reformatting & code cleanups. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12613] Description:Quincey Koziol2006-08-221-218/+218
| | | | | | | Reorder metadata cache callbacks to be more sensible. Tested on: None - just eyeballed, very simple change
* [svn-r12612] Description:Quincey Koziol2006-08-223-6/+42
| | | | | | | | | | Provide more abstract internal routine for computing checksums on metadata in a file. This will allow a unified policy on which algorithm to choose and under what criteria (length probably) to be more easily maintained. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12611] Description:Quincey Koziol2006-08-222-28/+0
| | | | | | | | Remove unused flag byte from fractal heap metadata on disk. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12610] Description:Quincey Koziol2006-08-224-430/+488
| | | | | | | | | | | | | | Add support for checksumming fractal heaps. This is always enabled for the heap header and indirect blocks (as they are "pure" metadata) and is optional for direct blocks, since they may be used for "raw" data. Also, rearrange direct block routines in H5HFcache.c to be in a more sensible location in the file. (probably should have been a separate checkin, since the diffs are mostly useless for this checkin... *sigh*) Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12608] Checked in External Link C examples.James Laird2006-08-227-917/+918
| | | | | | | | Since these examples need to follow filesystem paths, the Makefiles need to create directories in the examples directory; added this to the Makefile.am. Tested on Windows, mir, juniper
* [svn-r12607] Description:Quincey Koziol2006-08-222-69/+9
| | | | | | | | | | | Tweak the library's new faster fletcher32 algorithm to always produce the same checksum as the previous fletcher32 code in the fletcher32 I/O pipeline filter and switch the filter to use the library's version of the algorithm. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Too minor to require h5committest
* [svn-r12606] Description:Quincey Koziol2006-08-221-19/+7
| | | | | | | | | | | Switch to somewhat less high performance checksum implementation that doesn't run into problems for mis-aligned buffers in memory. Tested On: FreeBSD/32 4.11(sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12605] Description:Quincey Koziol2006-08-218-2485/+2891
| | | | | | | | | | | | | Break out a bunch of the misc. routines that were in src/H5.c into more specific modules. Add optimized fletcher32 checksum routine, for checksumming metadata as well as raw data. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Will test further after checkin...
* [svn-r12604] Description:Quincey Koziol2006-08-211-1/+1
| | | | | | | | | Change call from H5O_loc_free() to H5G_name_free() when certain dataset open failures are generated. Tested on: Linux/32 2.6 (chicago) Too minor to require h5committest
* [svn-r12603] Description:Quincey Koziol2006-08-212-7/+56
| | | | | | | | | | | | | | | | | | | Add a bunch more regression tests: - Verify opening a fractal heap more than once works correctly - Check that 0 & 1-sized object insertions are handled correctly - Check that bad heap IDs are detected when attempting to read an object - Check that doubling tables with different parameter values are working correctly Add some more checks to the code to detect 0-sized object insertions and bad heap IDs for reading. Tested On: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12602] Description:Quincey Koziol2006-08-212-2/+10
| | | | | | | | | | | | | Correct bug in doubling table algorithm which was generating incorrect row & column for offset larger than could be represented in 32 bits. Also, beef up the error checking in direct block code a bit Tested On: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12601] Description:Quincey Koziol2006-08-212-15/+39
| | | | | | | | | | | | Fix bug in deserializing sections from disk which would recompute the sections' serialized size while the sections were being deserialized, thoroughly baffling the algorithm. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12600] Description:Quincey Koziol2006-08-212-35/+33
| | | | | | | | | | | Clean up code a bit by reformatting and using portable macros for direct C library calls. Tested On: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12598] Description:Quincey Koziol2006-08-1910-190/+475
| | | | | | | | | | | | | | - Migrate "direct block location" routine from H5HFman.c to H5HFdblock.c, which is a more appropriate location - Optimize performance of heap code by taking advantage of pinned indirect blocks and use them without putting a metadata cache protect/unprotect pair around them. - Other minor compiler warning cleanups and optimizations... Tested On: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12597] Description:Quincey Koziol2006-08-192-85/+47
| | | | | | | | | | | Take advantage of the new feature in the metadata cache to insert pinned entries into the metadata cache directly, instead of insterting them, protecting them, pinning them and unprotecting them. Tested On: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12596] Refactored how external files are opened and closed.James Laird2006-08-1814-311/+430
| | | | | | | | 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-r12595] Modified H5C_insert_entry() to accept the H5C__PIN_ENTRY_FLAG entryJohn Mainzer2006-08-174-83/+183
| | | | | | | | | | | flag, and pin an entry as it is inserted. The objective is to avoid some function call overhead in fheap. Also added matching test code in test/cache.c & test/cache_common.c (also testpar/t_cache.c checked in separately by accident) h5commit tested
* [svn-r12593] Description:Quincey Koziol2006-08-174-351/+179
| | | | | | | | | Clean up some of the parallel chunk I/O compiler warnings and other minor code rearrangement. Tested on: FreeBSD 4.11 (sleipnir) w/paralllel h5committest
* [svn-r12592] Description:Quincey Koziol2006-08-1715-361/+2363
| | | | | | | | | | | | | | | | | | | | | Several changes, all mooshed together: - Add support for "tiny" objects - which can be stored in the heap ID itself, instead of in the heap data blocks. - Flesh out support for compressed direct blocks, but comment it out until John's got some metadata cache changes in place to support it. - Add support for applying I/O pipeline filters to 'huge' objects - Refactor 'huge' object code to store information for 'huge' objects directly in the heap ID, when there are I/O pipeline filters applied to the heap (and the heap ID is large enough to hold the information) - Update h5debug tool to correctly handle 'huge' & 'tiny' objects. - Misc. other code cleanups, etc. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12591] Description:Quincey Koziol2006-08-175-862/+872
| | | | | | | | | Add an error code for a I/O filter pipeline operation failing Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12590] Description:Quincey Koziol2006-08-171-1/+1
| | | | | | | | | | Set the parent indirect block information correctly when creating new row sections. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12589] Description:Quincey Koziol2006-08-175-35/+48
| | | | | | | | | | | | | | Revert passing the v2 B-tree class to callbacks, it turns out to be unnecessary. Also revert have a "class private" pointer for each v2 B-tree class. Add in support for the different flavors of fractal heap 'huge' objects also. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12588] Description:Quincey Koziol2006-08-171-0/+9
| | | | | | | | | | Set the address of the free space section info's parent header correctly when bringing the section info into the metadata cache. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12587] Description:Quincey Koziol2006-08-171-0/+1
| | | | | | | | | Call the H5L API's termination routine when the library is terminating. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12585] Description:Quincey Koziol2006-08-171-1/+1
| | | | | | | Correct parameter flipped in memset call (Thanks Peter!) Tested on: Very minor, just eyeballed.
* [svn-r12584] Mentioned VFD in test output to make it easier to tell which ↵James Laird2006-08-175-888/+888
| | | | | | | | | VFD is being used when a test is run. Running reconfigure also regenerated error header files (because someone edited them manually?).
* [svn-r12582] Purpose:Albert Cheng2006-08-171-2/+2
| | | | | | | | | | | upgrade. Description: Changed the error report of read and write to HSYS_GOTO_ERROR to report system error messages. Platforms tested: heping, osage, copper.
* [svn-r12575] Description:Quincey Koziol2006-08-146-22/+126
| | | | | | | | | | | | | Allow the heap ID length to be chosen at heap creation time, to allow for making heap IDs long enough to directly embed the file offset & length of 'huge' objects in the heap ID (which allows them to be retrieved directly from disk, instead of requiring them to be looked up in the B-tree that tracks 'huge' objects) Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 9 (shanti)
* [svn-r12573] Description:Quincey Koziol2006-08-131-2/+2
| | | | | | | | | | | | Clean up a couple of compiler warnings in the 'huge' object code in the library. Add a bunch of 'huge' object regression tests Tested on: FreeBSD 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12572] Description:Quincey Koziol2006-08-133-47/+54
| | | | | | | | | | Refactor new heap's header creation code to be all in the H5HFhdr.c module. Tested on: FreeBSD 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12571] Description:Quincey Koziol2006-08-132-3/+32
| | | | | | | | | | | Fix failure in "remove bogus ID" test which turned up randomly (due to random "bogus" IDs being used in test :-) by adding some more defensive checks on object IDs to the object removal code. Tested on: FreeBSD 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 (shanti)
* [svn-r12570] Description:Quincey Koziol2006-08-131-17/+15
| | | | | | | | | | Refactor file memory allocation code slightly, to make it clearer, along with adding/correcting some comments. Tested on: FreeBSD 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)