summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5501] Purpose:Quincey Koziol2002-06-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Code Bug Fix Description: Under certain [obscure] circumstances, an object header would get paged out of the metadata cache, and when it was accessed again and brought back into the cache, and immediately had additional metadata added to it (an attribute, usually, or perhaps adding an object to a group), and needed to be extended with a continuation message, but there was no room in any existing object header chunks for the continuation message and an existing object header message needed to be moved to the new object header chunk (I told you it was obscure :-), the object header message moved to the new chunk (not the new metadata being added) would get corrupted. *whew* :-) Solution: Actually copy the "raw" object header message information of the object header message being moved to the new chunk, instead of relying on the "native" object header message information being re-encoded when the object header is flushed. This is because when an object header is paged out of the metadata cache and subsequently brought back in, the "native" information pointer in memory is reset to NULL and only the "raw" information exists. Platforms tested: Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
* [svn-r5484] Raymond Lu2002-05-291-14/+10
| | | | | | | | | | | | | Purpose: Bug Fixing Description: In H5FD_family_write and H5FD_family_read, size_t is checked against hsize_t for overflow, which fails on IA32 architecture machine supporting large files. Solution: Use temporary variable which won't pass the limit of size_t. Platforms tested: Linux 2.4(platinum) and IRIX64 6.5(modi4)
* [svn-r5471] Purpose:Quincey Koziol2002-05-2966-1096/+1395
| | | | | | | | | | | | | | | | Code cleanup Description: Broke the FUNC_ENTER macro into several macros, with more specialized uses (which followup mail will describe). This was designed to move most/all of the checks which could be done at compile time to that point, instead of needlessly performing them (over & over :-) at run-time. This reduces the library's size (and thus staticly linked binaries) and has a minor speedup effect also. Platforms tested: IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing on FreeBSD and Solaris immediately after the checkin.
* [svn-r5467] Purpose:Quincey Koziol2002-05-2840-543/+675
| | | | | | | | | | | | | | | | | | | | | | | | Code cleanup. Description: Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros equivalents in the SAF library and adapted them to our library. I added an additional macro which is equivalent to FUNC_ENTER: FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but none of the library or interface initialization code. This is to be used _only_ for static functions and those which explicitly cannot have the library or interface initialization code enabled (like the API termination routines, etc.). This allowed many more of the functions in the library [but not all yet :-(] to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs. It also reduced the size of the library and executables (by cutting out a bunch of code which was never executed), I'll e-mail the exact results when I've finished editing it. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5465] Snapshot version 1.5 release 28HDF Admin2002-05-281-2/+2
|
* [svn-r5452] Pedro Vicente Nunes2002-05-223-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: eliminating the compiler warnings in Windows Solution: I am eliminating the compiler warnings in Windows. the last 2 were: 1) if((oid_list = H5MM_malloc(oid_count*sizeof(hid_t)))==NULL) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); D:\disk_w\hdf5\src\H5F.c(2590) : warning C4047: '=' : 'int ' differs in levels of indirection from 'void *' on the HGOTO_ERROR call , I replaced the NULL with FAIL 2) *((float*)d) = *((double*)s); D:\disk_w\hdf5\src\H5Tconv.c(6426) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data I added the type cast *((float*)d) = (float) *((double*)s); we have now 0 errors 0 warnings on Windows ! Platforms tested: w2000, linux
* [svn-r5447] Purpose:Quincey Koziol2002-05-211-34/+40
| | | | | | | | | | | Code cleanup Description: Guard against getting into metadata broadcast in write routine and clean up some error handling. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5444] Purpose:Quincey Koziol2002-05-205-34/+48
| | | | | | | | | | Code cleanup Description: Clean up warnings on IRIX64 6.5 (modi4) Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5440] Purpose:Quincey Koziol2002-05-2014-87/+54
| | | | | | | | | | | New feature Description: Add 'closing' parameter to H5FDflush and VFL "flush" functions, per http://hdf.ncsa.uiuc.edu/RFC/VFLFlush/VFLFlush.html Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5439] Purpose:Quincey Koziol2002-05-204-28/+29
| | | | | | | | | | | Code cleanup Description: Change variable casts to use H5_ASSIGN_OVERFLOW, or check for overflow before the cast with H5_CHECK_OVERFLOW. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5437] Pedro Vicente Nunes2002-05-187-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: eliminate warnings on win32 Description: some conversion warnings were being issued Solution: added some type casts Platforms tested: w2000, linux changed the HDmemset to include a cast in win32; this was just to eliminate a compiler warning. probably the macro can also be used in unix #ifdef WIN32 #define HDmemset(X,C,Z) memset((void*)(X),C,Z) #else /* WIN32 */ #define HDmemset(X,C,Z) memset(X,C,Z) #endif /* WIN32 */ the list of previous warnings was D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
* [svn-r5436] Pedro Vicente Nunes2002-05-184-4/+0
| | | | | | | | | Purpose: code clean up Description: removed some debugging comments regading the code warrior port Platforms tested: w2000
* [svn-r5434] Purpose:Quincey Koziol2002-05-172-52/+78
| | | | | | | | | | | | | Code improvement. Description: Propagated the "fill time" property into the parallel chunk allocation routine, allowing it to avoid writing fill values to each new chunk allocated. This improves the performance of chunked datasets in parallel I/O to be on par with contiguous datasets again (on modi4). Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5433] Purpose:Quincey Koziol2002-05-171-1/+1
| | | | | | | Code cleanup Description: Cleaned up the function header comment for H5Pset_fill_time.
* [svn-r5429] Purpose:Quincey Koziol2002-05-175-130/+264
| | | | | | | | | | | | | | | | | | | | | Bug fix/Code improvement. Description: Currently, the chunk data allocation routine invoked to allocate space for the entire dataset is inefficient. It writes out each chunk in the dataset, whether it is already allocated or not. Additionally, this happens not only when it is created, but also anytime it is opened for writing, or the dataset is extended. Worse, there's too much parallel I/O syncronization, which slows things down even more. Solution: Only attempt to write out chunks that don't already exist. Additionally, share the I/O writing between all the nodes, instead of writing everything with process 0. Then, only block with MPI_Barrier if chunks were actually created. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5422] Description:Albert Cheng2002-05-142-2/+2
| | | | | | | Corrected typos in the FUNC_ENTER macros of H5FD_sec2_flush and H5FD_log_flush. Platforms tested: modi4 (just tested it compiled fine.)
* [svn-r5419] Purpose:Quincey Koziol2002-05-141-0/+11
| | | | | | | | | | | Bug fix. Description: Added barrier to flush routine to prevent race condition where file could be truncated. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5418] Purpose:Quincey Koziol2002-05-141-30/+26
| | | | | | | | | | | | | | | | Code cleanup/Performance enhancement Description: The code to extend the file size in H5FD_mpio_flush is getting run even when the file size doesn't change. Also, it's sort of sidestepping MPI-I/O when extending the file, instead of using MPI-I/O features to set the file's size. Solution: Only extend the file's size when the allocated size has increased. Also use MPI_File_set_size() to change the file's size. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5414] Purpose:Quincey Koziol2002-05-141-0/+8
| | | | | | | | | | | | | | | Bug Fix Description: When H5Freopen is called, the file to reopen's 'intent' (read/write permissions, etc) is not being copied to the new file's 'intent' information. Solution: Copy it. :-) Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5412] Purpose:Quincey Koziol2002-05-141-17/+50
| | | | | | | | | | | | | | | | Bug fix Description: Calling MPI_Get_count needs to be done with the same MPI type as was used for the transfer and we are always using MPI_BYTE, even when a different MPI type was used for the transfer. Solution: Only query MPI_Get_count with MPI_BYTE when we really used MPI_BYTE for the transfer. Wait for later to query MPI_Get_count with other MPI types. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5408] Purpose:Quincey Koziol2002-05-133-2/+48
| | | | | | | | | | | | | | | Performance enhancement Description: Doing an MPI_File_sync() just before a file is closed causing a large performance loss. Solution: Add flag to MPI file driver to avoid performance the MPI_File_sync() when the flag is set before a call to H5F_flush(). Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5406] Purpose:Quincey Koziol2002-05-131-120/+121
| | | | | | | | | | Code cleanup Description: Restructure H5F_close code to use just one H5F_flush call. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5403] Purpose:Quincey Koziol2002-05-1313-59/+44
| | | | | | | | | | Back out changes. Description: Back out changes to VFL 'flush' API function, pending review. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5399] Purpose:Quincey Koziol2002-05-111-1/+1
| | | | | | | | | | Bug Fix Description: Missed adding the 'closing' parameter to one 'flush' function. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5393] Purpose:Quincey Koziol2002-05-1013-46/+60
| | | | | | | | | | | | | | | | | | | | | | New Feature Description: The VFL flush function is called immediately before a file is closed. This can cause duplicate syncronization actions to occur, if the VFL close function also performs them. Solution: Added 'closing' parameter to VFL 'flush' operation. This allows the VFL flush function to bypass operations that will be duplicated within the VFL close function. Additionally, use the 'closing' parameter to bypass calls to MPI_File_sync() when set. Since MPI_File_close() also syncronizes the file, this avoids the terrible performance hit taken when calling MPI_File_sync() as the file is closing. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5390] Purpose:Quincey Koziol2002-05-107-99/+11
| | | | | | | | | | | | | | | | | | | | | | Code cleanup Description: The parallel I/O file driver is optimized to only write metadata with one process (and broadcast the results to the other processes). This is currently enabled by a separate call to H5FD_mpio_tas_allsame() before each metadata write to the file. This can easily lead to problems where the prelude function call is omitted before the actual write code or, in a threaded environment, lead to race condititions where the value set is reset before being used. Solution: Since we only want to write metadata from one process, key off of the 'type' parameter (which has information about whether the data being written it metadata or raw data) to H5FD_mpio_write() as the method for determining whether to only write from one process or not. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5385] Purpose:Quincey Koziol2002-05-101-4/+21
| | | | | | | | | | | | | | | New Feature Description: Currently, only process 0 writes metadata to disk, leading to a potential performance bottleneck as the other processors wait for it to catch up. Solution: Rotate the metadata responsibilities among all processes, speading out the work. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5381] Purpose:Quincey Koziol2002-05-091-32/+19
| | | | | | | | | | | Small code cleanup/improvement Description: Query the MPI rank only once and store it in the file structure for each process. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5358] MuQun Yang2002-05-061-4/+4
| | | | | | | | | | | | Purpose: bug fix Description: In H5TB.c, previously use an unsigned variable to represent address difference that is maybe a negative value. This will cause a potential bug in the future when this section of code is run. Solution: use H5F_address_cmp macro to compare two addresses. Platforms tested: linux 2.2.18
* [svn-r5342] Description:Albert Cheng2002-05-021-12/+0
| | | | | | | | | Removed unused code that is related to inline issue. hdf5 C source now uses H5_inline for the non-standard inline feature. No need to undefine/redefine the symbol inline itself. Platforms tested: eirene.
* [svn-r5328] Purpose:Quincey Koziol2002-05-022-110/+81
| | | | | | | | | | | Code cleanup Description: Remove an extraneous data structure for tracking the location of a hyperslab iterator when walking through regular hyperslab selections. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5325] MuQun Yang2002-05-022-2/+2
| | | | | | | | | | Purpose: minor bugs fixed Description: Typos in H5Fpkg.h and H5TB.c Solution: Platforms tested: linux 2.2.18
* [svn-r5324] Pedro Vicente Nunes2002-05-023-4/+1
| | | | | | | Purpose: updated some comments regarding Code Warrior , removed other debugging comments Platforms tested: w2000
* [svn-r5312] Purpose:Quincey Koziol2002-05-011-10/+20
| | | | | | | | | | Bug Fix Description: Add TRACE8 and TRACE9 macros Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5310] Purpose:Quincey Koziol2002-05-011-0/+5
| | | | | | | | | | Code cleanup Description: Update the API tracing information Platforms tested: Linux 2.2 (eirene) with gcc 2.95.2 and Solaris 2.6 (baldric) with gcc 2.8.1
* [svn-r5308] Purpose:Quincey Koziol2002-05-013-1/+3
| | | | | | Update API tracing information Platforms tested: Linux 2.2 (eirene)
* [svn-r5295] MuQun Yang2002-04-301-2/+2
| | | | | | | | | | Purpose: turn on daylight feature on windows Description: currently we have to hard code daylight feature of windows to make it pass mtime test. Solution: Platforms tested: linux 2.2.18
* [svn-r5289] Purpose:Quincey Koziol2002-04-301-3/+10
| | | | | | | | | | | | | | | | Bug Fix Description: Correct coordinates were not computed for iteration through irregular hyperslab selection (although the points in the buffer that were selected were correct). Solution: Add another array to track selection offset adjusted coordinates in the selection. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5286] Purpose:Quincey Koziol2002-04-292-15/+17
| | | | | | | | | | | | | | Bug Fix Description: Selection offsets were not being used correctly when iterating through all hyperslabs selections and point selections. Solution: Use the selection offset appropriately. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5278] Purpose:Albert Cheng2002-04-286-120/+111
| | | | | | | | | | | | | | | | | | | | | Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC Description: configure generates many macros definitions on the fly and were stored in src/H5config.h which is included by H5public.h. But other software that uses hdf5 may also run their own configure. There can be a clash in macro name space. We decided awhile ago to prepend all generated macros with "H5_" to avoid conflicts. The process has started and this commit completes it (at least attempt to). Solution: Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to H5_SIZEOF_xxx and H5_HAVE_xxx). Then H5private.h no longer includes H5config.h. This cuts H5config.h away from HDF5 source code. Pending issues: The module of fortran and pablo are to be resolved in a different commit. Platforms tested: eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
* [svn-r5275] Snapshot version 1.5 release 27HDF Admin2002-04-271-2/+2
|
* [svn-r5273] Raymond Lu2002-04-263-44/+102
| | | | | | | | | | | | Purpose: New feature Description: Allow H5Glink and H5Gmove to handle links across different locations. Solution: Added H5Glink2 and H5Gmove2 functions with new parameter of destination location. Platforms tested: Linux 2.2(eirene)
* [svn-r5272] Purpose:Quincey Koziol2002-04-261-10/+10
| | | | | | | | | | | Bug fix Description: Move iterator initialization in H5D_read & H5D_write before any errors can occur. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5271] Purpose:Quincey Koziol2002-04-262-2/+10
| | | | | | | | | | | | | | | | Bug Fix. Description: When the fill value for a dataset is not set, the size is set to zero, causing problems with filling unused areas in previously defined chunks (i.e. when the dataset shrinks in size) Solution: Use the size of the elements in the dataset directly, instead of relying on the size of the fill value (which must be the same size). Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5261] Purpose:Quincey Koziol2002-04-258-458/+4
| | | | | | | | | | Code cleanup Description: Remove more debugging printf's that were ifdef'd out. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5259] Purpose:Quincey Koziol2002-04-2518-1153/+836
| | | | | | | | | | | | | | | | Code cleanup Description: Previously, the I/O pipeline (pline), external file list (efl) and fill- value (fill) structs were passed down the raw data function call chain, even into and/or through functions which didn't use them. Since all three of these pieces of information are available from the dataset creation property list, just pass the dataset creation property list down the function call chain and query for the information needed in a particular function. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5257] Purpose:Albert Cheng2002-04-251-1/+1
| | | | | | | | | | | | | | | | | | | Bug fix Description: $(LT_RUN) was used to execute ./H5detect in src/Makefile.in. $RUNTEST was set to $(LT_RUN) which was used to execute sequential executable. $(LT_RUN) is "../libtool --mode=execute". But libtool invokes some commands that are not supported in the Tflops machine. That caused failures during the build and check processes. Solution: Upon investigation, there does not seem to be need to use $(LT_RUN) any more. The "libtool --mode=link" now generates a "fake" executable that is actually a command-script file that can regenerate the real executable with dynamic libraries hooks setup properly. Undo all those $LT_RUN substitute and let $RUNSERIAL execute those sequential executables. Platforms tested: Eirene(serial), modi4(parallel)
* [svn-r5255] Purpose:Quincey Koziol2002-04-251-180/+41
| | | | | | | | | | | Code cleanup Description: Reduce gratuitous differences between H5D_write and H5D_read and also remove distracting debugging printf's that were ifdef'd out. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5254] Purpose:Quincey Koziol2002-04-251-3/+13
| | | | | | | | | | | Code tweak. Description: Allow the 'fill' parameter of H5S_select_fill to be NULL and allocate a temporary buffer for it, if so. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5244] MuQun Yang2002-04-241-1/+5
| | | | | | | | | | | | | | | Purpose: update macro HDstat Description: The original defination of HDstat only defines HDstat as stat. the file size defined at struct stat is int32, However for files greater than 4G(or 2G)file, lookup of file size will fail on windows when using stat. Add a macro for windows,define HDstat as istat64. This fix is the same as HDfstat macro. Solution: Platforms tested: linux 2.2.18