Commit Graph

161 Commits

Author SHA1 Message Date
Dana Robinson
a92c735c9b Squashed commit of the token_refactoring branch: 2020-01-16 13:29:34 -08:00
Jerome Soumagne
9c398c804b H5R: set app ref when incrementing ref_count on location held by reference
(fix HDFFV-10992)
2020-01-09 19:05:31 -06:00
Quincey Koziol
0225e6d596 Small changes from the token_refactoring branch, to reduce the delta to develop 2020-01-03 22:16:38 -06:00
Jerome Soumagne
7b03a1c036 Fix H5VL_token_t type and fix H5VL_loc_by_token to use H5VL_token_t * 2019-12-05 14:42:06 -06:00
Jordan Henderson
874900d395 Add OAPL parameter to H5Rcreate_ APIs 2019-12-02 17:05:15 -06:00
Jerome Soumagne
f46494ffd8 Remove H5VL_NATIVE_FILE_GET_FILE_ID and add H5VL_OBJECT_GET_FILE
Remove H5F__get_file_id() and use only private routine instead
2019-11-27 14:17:08 -06:00
Jerome Soumagne
ae490016b9 Add new H5R API that abstracts object, region and attribute reference types
Also support references to external files

Add new H5T_REF type and type conversion routines

Support conversion from H5T_REF_OBJ/DSET_REG to H5T_REF

Add H5Treclaim() API to reclaim memory of vlen/reference types

Deprecate H5Dvlen_reclaim()

Fix H5T_vlen_reclaim() and H5T_reclaim() to use private callback

Add H5T_ref_reclaim()

Move previous H5R APIs to H5Rdeprec.c

Clean up H5Ocopy

Separate H5O_copy_expand_ref() to H5Ocopy_ref()

Add support for copying new reference types

Clean up deprecated routines to go through VOL and same code path

Fix return codes in existing trefer.c test

Rename trefer.c to trefer_deprec.c

trefer.c is for new references

Add performance test for trefer

Add additional obj_copy_ref test

Make use of tokens and blobs to store references

Skip blob encoding for object references

Start adding new reference examples
2019-10-08 14:30:24 -05:00
Dana Robinson
55fc5067b6 Updated enums in VOL va_lists to be passed as ints. 2018-12-18 09:16:46 -08:00
Quincey Koziol
3055e499d5 Switch loc_params to VOL callbacks to pass struct by pointer instead of by
value.
2018-11-21 23:12:24 -06:00
Quincey Koziol
1daa7b830a Switch driver | plugin => connector. 2018-11-04 01:27:23 -05:00
Quincey Koziol
1b00d04080 Refactor and standardize object VOL callbacks. 2018-11-01 14:54:44 -05:00
Quincey Koziol
4a32895724 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-10-25 18:32:13 -05:00
Quincey Koziol
0df6e44a6e Squashed commit of private branch changes to support stackable VOL plugins.
modified:   test/dsets.c
2018-10-24 23:52:47 -05:00
Dana Robinson
2d6d5cad0c Updates to the VOL ID and object API calls.
This brings the H5VL code in line with the H5I code regarding
naming, parameter order, etc.

Several public API calls were affected by this change.

These changed names to reflect their use with VOL drivers:
    H5VLregister()          -->     H5VLregister_driver()
    H5VLregister_by_name()  -->     H5VLregister_driver_by_name()
    H5VLunregister()        -->     H5VLunregister_driver()
    H5VLis_registered()     -->     H5VLis_driver_registered()

This call was renamed to match H5Iregister(). The order of the first
two parameters also reversed and the object pointer is now const.
    H5VLobject_register()   -->     H5VLregister()
2018-10-17 02:06:28 -07:00
Dana Robinson
e962df1591 VOL FEATURE 2018-10-10 08:10:15 -07:00
Dana Robinson
b48686febd Normalization with vol_integration (misc internal and datatype) 2018-09-20 13:38:40 -07:00
Dana Robinson
384a1ec709 Normalize with vol_integration. 2018-05-29 14:06:01 -07:00
Quincey Koziol
eecf997bf5 Remove redundant 'is_collective' parameter from H5CX_set_loc. 2018-03-26 23:19:08 -05:00
Quincey Koziol
d812c6fe60 Cleanup API context function usage. 2018-03-18 22:51:19 -05:00
Quincey Koziol
4a17aff408 Add API context interface and use it throughout the library. 2018-03-15 16:54:30 -05:00
Dana Robinson
d0e32b545c Split internal H5R functionality into H5Rint.c. 2017-11-07 17:56:27 -08:00
Dana Robinson
9a749a64f0 More minor whitespace cleanup 2017-07-03 13:01:58 -07:00
Dana Robinson
dfceb84d47 Fixed a minor comment typo in H5R.c 2017-07-03 13:00:11 -07:00
Dana Robinson
76b9a0e7ef * Reverted removal of H5I_REFERENCE to avoid breaking binary
compatibility.
* Added a quick H5I_REFERENCE smoke check to test_misc19()
  in tmisc.c.
2017-07-03 12:54:14 -07:00
Dana Robinson
0d6930d3c2 Purged the unused H5I_REFERENCE from the library. 2017-06-30 20:53:56 -07:00
Larry Knox
89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
  Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
  Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
  Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
  Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
2017-04-25 16:05:36 -05:00
Mohamad Chaarawi
63c90e5c67 [svn-r29081] - merge in the phdf5_metadata_opt/ branch with the collective metadata optimizations.
- rename H5AC_dxpl_id to H5AC_ind_read_dxpl_id and update all usage in the library

tested on bb-8 with parallel and serial.
2016-02-10 15:48:34 -05:00
Quincey Koziol
c8a6c6030a [svn-r29077] Description:
Normalize against the trunk, in preparation for final merge.

Tested on:
    MacOSX/64 10.11.3 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2016-02-10 12:55:55 -05:00
Quincey Koziol
4da0790886 [svn-r29076] Description:
Normalize against the phdf5_metadata_opt branch, in preparation for
merging it to trunk.

Tested on:
    MacOSX/64 10.11.3 (amazon) w/serial, parallel, and production builds
    h5committest forthcoming
2016-02-10 12:54:15 -05:00
Mohamad Chaarawi
f1283d59b0 [svn-r29066] - fixing some of the internal usage of dxpls.
- merge from trunk.
2016-02-08 15:12:07 -05:00
Mohamad Chaarawi
91aeb766fa [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity checks from metadata dxpls
- remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead.
- remove flush_me_collectively flag from cache entries
- add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit.

tested on BB-8 with serial and parallel.
2016-01-21 17:31:15 -05:00
Quincey Koziol
1023374492 [svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.

    This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.

    Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros.  (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)

    Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/64 3.10.x (kituo) w/serial & parallel
    Linux/64 2.6.x (ostrich) w/serial
2015-09-13 22:58:59 -05:00
Mohamad Chaarawi
3b72762036 [svn-r26777] - Fix usage of the internal AC global dxpls
- allocate sieve buffer with calloc instead of malloc

tested with h5committest
2015-04-10 12:47:16 -05:00
Scot Breitenfeld
ca0a4d24b6 [svn-r26373] Fix for HDFFV-7959:
H5Rdereference should check for default (HADDR_UNDEF) value and not continue processing and return so that ret value can be checked and handled properly 

Tested: jam (gnu)
2015-03-05 16:42:42 -05:00
Quincey Koziol
3550004b20 [svn-r26302] Description:
Revise dataspace encode/decode routines to make them work better with
future virtual dataset feature.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial
    (h5committest forthcoming)
2015-02-25 13:03:52 -05:00
Quincey Koziol
33ea1ada24 [svn-r25496] Description:
Merge 64-bit ID changes from branch to trunk.  (Plus a few minor cleanups
that aren't on the branch)

Tested on:
    Mac OSX/64 10.9.4 (amazon) w/C++ & FORTRAN
    (h5committested on branch already for a week)
2014-07-30 15:55:14 -05:00
Quincey Koziol
3de25ee226 [svn-r24998] Description:
Check in Neil's changes for correctly handling case where library is
reinitialized through a deprecated routine.

Tested on:
    Linux 2.4.x/32 (jam)
2014-04-09 00:08:21 -05:00
Scot Breitenfeld
ee10548723 [svn-r24681] Description:
Fix for HDF5/HDFFV-8620 H5Rget_name with NULL name parameter fails.
The name parameter now excepts NULL, in which case the length of then
name is returned.


Tested: jam (intel and gnu)
2014-02-04 10:11:20 -05:00
Quincey Koziol
2060d4f6b9 [svn-r24255] Description:
Switch H5I internal data structure from using hash table to skip lists.

Tested on:
    Mac OSX 10.8.4 (amazon) w/C++ & FORTRAN
    FreeBSD, Linux, etc. forthcoming
2013-10-04 12:03:07 -05:00
Quincey Koziol
d38fe20df6 [svn-r23695] Description:
Clean up warnings in H5Tconv.c (down to _only_ 9000 lines of output now!)

    Merge changes from Coverity branch back to trunk:

r20684:
Fix for coverity bug #1721 which was due to the fix for coverity bug #943.

r20685:
Use HDstrncpy. --gh

r20761:
Purpose: Fix valgrind issues

Description:
Free image_data and data as appropriate in test_image.

r20762:
Purpose: Fix coverity issue 600

Description:
Add check for return value of H5O_close in H5Ocopy.  Also cleaned up various
warnings.

r20763:
Purpose: Fix valgrind issues with h5stat

Description:
Modified h5stat to free "iter" before exit, and free "hand" before exit if
parse_command_line exits directly.

r20764:
fixed coverity issues:
69, 327, 614, 684, 685, 696, 697, 1681, 967, 826, 660, 80

r20765:
Fixed coverity bug 668

Pulled x * y * z multiply out of malloc operand into a separate n_elements variable to quiet integer overflow warning.

No actual integer overflow tests are performed since it's just a test program but I did add a check that n_elements is >= 1.

I also changed an error condition from doing its own close and returning -1 to "goto out;" like the rest of the program.

r20766:
Fixed coverity bug 667

Pulled x * y * z multiply out of malloc operand into a separate n_elements variable to quiet integer overflow warning.

No actual integer overflow tests are performed since it's just a test program.


Tested on:
    Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN
    (h5committest upcoming)
2013-05-11 10:59:48 -05:00
Scot Breitenfeld
f5efc5224f [svn-r22750] Removed check-in r22746 because it causes an error in objcopy on Linew 64 byte. Will check-in again after
the issue is resolved.
2012-09-10 14:38:55 -05:00
Scot Breitenfeld
2fae4fbfa6 [svn-r22746] Description:
Fix for HDFFV-7959 H5Rdereference should check for default (HADDR_UNDEF) value and not continue processing and return so that ret value can be checked and handled properly.

Added fix and test, reviewed:

Tested: jam (gnu, intel)
2012-09-09 14:08:12 -05:00
Quincey Koziol
7143164de9 [svn-r22608] Description:
Switch propert list/class iteration from internal to external form of
iteration, cleaning up and simplifying the code a bit.

    Bring other general improvements from plist_encode_decode branch back to
trunk.

    Clean up many warnings.


Tested on:
    Mac OSX/64 10.7.4 (amazon) w/gcc 4.7, debug and C++ & FORTRAN
    (too minor to require h5committest)
2012-07-26 14:33:59 -05:00
Quincey Koziol
75f4e51a1a [svn-r22582] Description:
Refactor ID class registration to be more like how other "class"s in the
library are registered, and clean up compiler warnings.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug
    (Too minor to require h5comittest)
2012-07-16 14:54:26 -05:00
Dana Robinson
6e1a85e781 [svn-r22371] Fix for HDFFV-7697
Minor change to error message text in H5R.c.

Minor change: tested on jam
2012-05-15 12:38:36 -05:00
Quincey Koziol
9c9ee2008c [svn-r21919] Description:
Refactor function name macros and simplify the FUNC_ENTER macros, to clear
away the cruft and prepare for further cleanups.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
2012-02-08 22:13:27 -05:00
Raymond Lu
db9b025d85 [svn-r21205] Issue 2763 - adding OAPL_ID as a new parameter to H5Rdereference. I added a check of OAPL_ID against -1 because CMAKE
on 64-bit Windows slipped through the function call in the trefer.c test.  

Tested on jam and CMAKE on 64-bit Windows.
2011-08-10 11:14:05 -05:00
HDF Tester
b230a5e448 [svn-r21149] Snapshot version 1.9 release 85 2011-07-24 09:40:12 -05:00
Raymond Lu
338fdac20d [svn-r21124] Issue 2763 - adding OAPL_ID as a new parameter to H5Rdereference. A followup commit for r21117. I made 2 changes:
1. Quincey changed H5P_DATASET_ACCESS_DEFAULT to H5P_DEFAULT for the tests that call H5Rdereference.  Inside H5R_dereference, I assigned H5P_DATASET_ACCESS_DEFAULT to OAPL_ID if it is H5P_DEFAULT.
  2. I added the test for invalid OAPL_ID in trefer.c.

Tested on jam, koala, heiwa.
2011-07-19 15:20:01 -05:00
Raymond Lu
304f19d730 [svn-r21117] Issue 2763 - I added a new parameter of object access property list to the function H5Rdereference. It's called H5Rdereference2 now. H5Rdereference function has been deprecated to H5Rdereference1. I also added some test cases in trefer.c.
Tested on jam, heiwa, and koala.
2011-07-18 16:23:02 -05:00