summaryrefslogtreecommitdiffstats
path: root/src/H5L.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r29903] merge from trunk.Mohamad Chaarawi2016-05-091-90/+260
|\
| * [svn-r29081] - merge in the phdf5_metadata_opt/ branch with the collective ↵Mohamad Chaarawi2016-02-101-17/+17
| |\ | | | | | | | | | | | | | | | | | | | | | 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.
| | * [svn-r29066] - fixing some of the internal usage of dxpls.Mohamad Chaarawi2016-02-081-1/+1
| | | | | | | | | | | | - merge from trunk.
| * | [svn-r29076] Description:Quincey Koziol2016-02-101-1/+1
| |/ | | | | | | | | | | | | | | | | 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
| * [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity ↵Mohamad Chaarawi2016-01-211-24/+28
| | | | | | | | | | | | | | | | | | | | 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.
| * [svn-r28916] Description:Quincey Koziol2016-01-151-51/+65
| | | | | | | | | | | | | | | | Normalize against incoming changes from the phdf5_metadata_opt branch. Tested on: MacOSX/64 10.11.2 (amazon) w/serial & parallel (h5committest forthcoming)
| * [svn-r28894] Description:Quincey Koziol2016-01-141-18/+38
| | | | | | | | | | | | | | | | Normalize against changes on phdf5_metadata_opt branch to trunk Tested on: MacoSX/64 10.11.2 (amazon) w/serial & parallel (h5committest forthcoming)
| * [svn-r28761] Description:Quincey Koziol2016-01-011-17/+169
| | | | | | | | | | | | | | | | | | | | | | | | Clean up many mismatches between malloc/free and H5MM_malloc/H5MM_xfree in the library and tests (and use of H5free_memory and H5Dvlen_reclaim). Also make H5Ocopy use a private version of H5Lexists, which doesn't internally throw (and suppress) errors when an object (or the path to it) isn't found in the destination. Tested on: MacOSX/64 10.11.2 (amazon) w/serial & parallel (h5committest forthcoming)
* | [svn-r27777] merge from trunk.Mohamad Chaarawi2015-09-141-19/+26
|\ \ | |/
| * [svn-r27768] Description:Quincey Koziol2015-09-141-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | [svn-r27141] merge from trunk.Mohamad Chaarawi2015-06-031-17/+17
|\ \ | |/
| * [svn-r27133] - Add a new attribute function characterstic for format:Mohamad Chaarawi2015-06-011-17/+17
| | | | | | | | | | | | | | | | * H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z))) - Rename UNUSED attribute characterstic to H5_ATTR_UNUSED. - Rename NORETURN attribute characterstic to H5_ATTR_NORETURN tested with h5committest.
* | [svn-r25575] cleanup H5I usage in VOL by removing the use of the aux pointer andMohamad Chaarawi2014-09-051-187/+111
| | | | | | | | | | make a higher level wrapper object around all VOL objects that includes the VOL information.
* | [svn-r25555] - rework the public H5VL wrappers to not use H5VL_t* and use a ↵Mohamad Chaarawi2014-08-261-17/+17
| | | | | | | | | | | | | | plugin hid_t instead - rework the private VL layer to use the class structure directly - some bug fixes
* | [svn-r25537] VOL framework changes.Mohamad Chaarawi2014-08-191-38/+125
| |
* | [svn-r25521] major rework of the internal setup of VOL plugins to make it moreMohamad Chaarawi2014-08-081-1/+0
| | | | | | | | | | | | | | symmetrical to VFDs and allow new functionality to be implemented later. + some Bug fixes
* | [svn-r25502] merge from trunk.Mohamad Chaarawi2014-07-311-1/+1
|\ \ | |/
| * [svn-r25500] fix HDFFV-8888 - H5Ldelete_by_idx fails on non-existent group name.Mohamad Chaarawi2014-07-311-1/+1
| | | | | | | | tested Jam. minor change.
* | [svn-r25482] - update is_accessible implementation to use fapl and pass it ↵Mohamad Chaarawi2014-07-241-24/+24
| | | | | | | | | | | | | | | | | | | | down to H5Fint.c - move is_HDF5 inside deprecated macros in H5Fpublic.h - move H5ES_status_t outside of H5VLpublic.h to H5ESpublic.h - rename public properties in H5VLpublic.h to H5VL_PROP_* to add more scoping - no need to include private if pkg is included in H5VLnative.c - rename plist_id to lapl_id in loc_params structs
* | [svn-r25476] - fix error output in several places.Mohamad Chaarawi2014-07-231-2/+2
| | | | | | | | | | - uncomment tests to check error output in Makefiles. - fix bug in native implementation of H5Aiterate.
* | [svn-r24311] change event queue to event stack (just variable names)Mohamad Chaarawi2013-10-171-17/+17
| |
* | [svn-r23473] Update the VOL plugin callbacks with better async I/O support:Mohamad Chaarawi2013-03-281-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - change hid_t req in callbacks to void **req - change all callbacks to accept dxpl_ids (except dataset write and read which already do) - update all the private and public VL routines to accept a dxpl_id and event queue id - Add an async class for the VOL plugin with cancel, test, and wait request operations - add the external VOL log plugin test to the examples directory NOTE that async operations are still not provided by the HDF5 API, so all event queue IDs and requests passed to all plugins are NULL for now. Tested on jam.
* | [svn-r22993] some minor changesMohamad Chaarawi2012-10-311-1/+24
| |
* | [svn-r22523] - rework how IDs for VOL objects are createdMohamad Chaarawi2012-07-061-6/+2
| | | | | | | | | | - change how the vlose routine is registered with VOL IDs - some bug fixes
* | [svn-r22519] - many bug fixesMohamad Chaarawi2012-07-051-4/+5
| | | | | | | | - still some unresolved issues with named datatypes
* | [svn-r22501] change the interface callbacks for the VOL to use objects ↵Mohamad Chaarawi2012-06-281-117/+368
| | | | | | | | | | | | pointers and public VL structure instead of IDs. tests will fail now because of named datatypes.
* | [svn-r22452] - remove nrefs paramMohamad Chaarawi2012-06-111-1/+0
| | | | | | | | | | | | | | | | - create a struct to hold parameters for object locations instead of calling into VOL to lookup and free object: * update the implementation for H5Oopen(_by_name/idx/ref) * H5Rderefence * H5Aopen(_by_name), H5Arename(_by_name) * other routines coming later
* | [svn-r22423] add link and object iterate callbacksMohamad Chaarawi2012-06-011-42/+17
| | | | | | | | update some deprecated routines to use VOL
* | [svn-r22417] rename the properties used for the VOL callbacks.Mohamad Chaarawi2012-05-291-6/+6
| | | | | | | | move them to the VOL public header.
* | [svn-r22395] remove the high level ID implementation that wraps the actual ↵Mohamad Chaarawi2012-05-231-13/+9
| | | | | | | | | | | | ID, and store the VOL plugin in an auxilary structure in the ID pointer.
* | [svn-r22384] - fix type in CMake fileMohamad Chaarawi2012-05-211-2/+2
| | | | | | | | - rename delete callback to remove
* | [svn-r22380] - attribute and object exist callbacks should be part of get ↵Mohamad Chaarawi2012-05-181-3/+3
| | | | | | | | | | | | | | | | | | structs - fix bug in passing req parameter - free location in H5Rdereference - add datatype close callback - H5VL_CREATE_LINK_XXX should be H5VL_LINK_CREATE_XXX
* | [svn-r22306] add a request id to each of the VOL callbacks and update the nativeMohamad Chaarawi2012-04-201-13/+13
| | | | | | | | plugin to pass a NULL request
* | [svn-r22283] H5Lget routines through VOLMohamad Chaarawi2012-04-121-88/+143
| | | | | | | | | | | | | | | | H5G and H5A deprecated routines through VOL H5A exists(_by_name), delete_by_idx, rename through attr generic callbacks H5O incr/decr_ref_count set_comment(_by_name) exists(by_name) through a generic Object cb remove the attr generic callback and use the object generic callback instead add the usual workarounds for named datatypes in test code
* | [svn-r22278] make get_vfd go through a generic file callbackMohamad Chaarawi2012-04-111-18/+0
| | | | | | | | rearrange routines alphabetically
* | [svn-r22273] H5Ldelete goes thorugh VOLMohamad Chaarawi2012-04-101-6/+33
| |
* | [svn-r22272] provide the wrapped ids to iterate/visit routinesMohamad Chaarawi2012-04-101-3/+12
| | | | | | | | somehow stable version
* | [svn-r22271] unwrap the high level ids in several placesMohamad Chaarawi2012-04-091-5/+5
| | | | | | | | | | add some workarounds for named datatypes in test cases and H5T routines fix some iterate bugs with UD links
* | [svn-r22258] links and attributes VOL routinesMohamad Chaarawi2012-04-081-2/+2
| | | | | | | | | | change native location token to be of type H5O_loc_t several bug fixes and issues resolved
* | [svn-r22250] - fix most of issues from code reviewMohamad Chaarawi2012-04-041-75/+77
| | | | | | | | | | | | | | - object open routines fall back to the generic VL object open in case the specific call back is not impemented - H5L VOL create/copy/move routines - make VOL create routines have similar interface and stuff parameters in creation plist - some bug fixes
* | [svn-r22153] renaming some VL public variables and wrapper ID typeMohamad Chaarawi2012-03-261-4/+5
| |
* | [svn-r22151] - object lookup returns the haddr_tMohamad Chaarawi2012-03-261-7/+10
| | | | | | | | - make the VL implementation for all variations of H5Oopen, H5Oget_info, H5Gget_info common, by looking up the object location first.
* | [svn-r22119] Changes:Mohamad Chaarawi2012-03-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | - add VOL implementation for H5O, H5D, and H5T functions - update the VOL interface with H5VLget routines - make upper level IDs of Type H5I_XXX_PUBLIC - bug fixes Comments: - some routines still don't go through VOL but have a workaround so they don't have to at the moment.
* | [svn-r22034] merge from trunk r 22032Mohamad Chaarawi2012-03-071-53/+186
|\ \ | |/
| * [svn-r21923] Description:Quincey Koziol2012-02-101-2/+135
| | | | | | | | | | | | | | | | | | Add FUNC_ENTER macros for package-private routines and begin process of switching package routines to use them. All H5G routines are currently finished. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
| * [svn-r21919] Description:Quincey Koziol2012-02-091-51/+51
| | | | | | | | | | | | | | | | 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
* | [svn-r22032] - move all HDF5 library access for H5F routines to the native ↵Mohamad Chaarawi2012-03-071-4/+30
|/ | | | | | | | layer, higher layer only handle ids - create a high level user id to return to users to hold vol id and object id - all H5 callbacks implemented except for get_object_count/ids - some bug fixes, test suite fails for now pending update to user ids of other objects
* [svn-r21133] Description:Quincey Koziol2011-07-201-5/+4
| | | | | | | | | | | | | | | | | More code cleanups to reduce coupling between packages that use the H5F internal routines, but really aren't part of the H5F "package". Tested on: FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Mac OS X/32 10.6.8 (amazon) in debug mode
* [svn-r20061] Description:Quincey Koziol2011-02-081-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring changes from Coverity branch to trunk: r19930: Fix memory leaks involving VL attributes in h5repack and h5diff. The buffers in copy_attr and diff_attr were not checked for the presence of a vlen before being freed, and vlen storage was never reclaimed. Added checks and calls to H5D_vlen_reclaim(). r19933: Purpose: Fix memory leak in H5L_move_cb() Description: H5L_move_cb copied the source link using H5O_msg_copy() but freed it manually using H5MM_xfree(). Since H5O_link_copy allocates the link using H5FL_MALLOC, this causes the link to be allocated from the free list but is never put back on the free list when it is freed. This prevents the link free list from shutting down properly. Modified H5L_move_cb() and H5L_move_dest_cb() to free the link properly using H5O_msg_free(). r19973: Fix resource leaks by freeing string created by HD5f2string r19974: Issue #345: Inialize buf variable to null Tested on: Mac OS X/32 10.6.6 (amazon) w/debug & production (h5committested on Coverity branch)
* [svn-r19587] Description:Quincey Koziol2010-10-131-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Address issue with object headers being created getting evicted from the metadata cache cache before they are completely initialized. This is done by pinning the object header in the cache until it is completely initialized and attached to a group. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.4 (amazon) in debug mode Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode