summaryrefslogtreecommitdiffstats
path: root/src/H5F.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5096] Purpose:Quincey Koziol2002-03-271-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix Description: The H5Gget_objinfo() function was not setting the 'fileno' field in the H5G_stat_t struct passed in. Solution: Added a "file serial number" to each file currently open in the library and put that in the 'fileno' field. If a file is opened twice (with H5Fopen) and the VFL driver detects that it is the same file (i.e. the two file structures have the same "shared file info" in the library's memory structures), they will have the same serial number. This serial number has two drawbacks: - If a VFL driver doesn't/can't detect that two calls to H5Fopen with the same file actually _are_ the same file, each will get a different serial number - If the same file is closed and re-opened, the serial number will be different. It is be possible to fix the second drawback for many VFL drivers, but it would be a lot of effort and probably isn't worth it until we've got a good reason to do it. Dunno if we'll ever be able to fix the first drawback... Platforms tested: FreeBSD 4.5 (sleipnir) VS: ----------------------------------------------------------------------
* [svn-r4867] Purpose:Quincey Koziol2002-01-271-4/+11
| | | | | | | | Code cleanup Description: Added some more assertions to help debug in the future... Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r4757] Purpose:Albert Cheng2001-12-301-4/+0
| | | | | | | | | | | | | | | | | | Removing the DPSS (gridstorage) driver source code. Description: The DPSS (using Grid-Storage) driver is retired. Removed the configure option with-gridstorage from configure.in. Cvs remove the following files ./src/H5FDdpss.c ./src/H5FDdpss.h ./test/dpss_read.c ./test/dpss_write.c Regenerated Dependencies files (some had to be hand-edited since 'make depend' did not cover them.) Removed reference to DPSS Virtual file driver from H5F.c. Platforms tested: modi4 (Parallel; -with-gass=...), eirene, arabica (fortran, cxx).
* [svn-r4706] Purpose:Quincey Koziol2001-12-121-6/+10
| | | | | | | | | | | | Code cleanup Description: Tweaked internal error handling macros to reduce the size of the library's object code by about 10-20%. Also cleaned up some compiler warnings... Platforms tested: FreeBSD 4.4 (sleipnir)
* [svn-r4696] Raymond Lu2001-12-111-62/+443
| | | | | | | | | | | | | | | | | Purpose: Modify H5Fclose behavior Description: The HDF5 actual file close behaves in several ways in terms of if there are still objects(dataset, group, datatype) opened in file. Solution: Added a new file access property, file close degree. It has four values, H5F_CLOSE_DEFAULT H5F_CLOSE_WEAK H5F_CLOSE_SEMI H5F_CLOSE_STRONG The way a file is closed is decided by these values. Platforms tested: IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
* [svn-r4643] Purpose:Quincey Koziol2001-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | Code cleanup Description: Windows is generating hundreds of warnings from some of the practices in the library. Mostly, they are because size_t is 32-bit and hsize_t is 64-bit on Windows and we were carelessly casting the larger values down to the smaller ones without checking for overflow. Also, some other small code cleanups,etc. Solution: Re-worked some algorithms to eliminate the casts and also added more overflow checking for assignments and function parameters which needed casts. Kent did most of the work, I just went over his changes and fit them into the the library code a bit better. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4622] Purpose:Quincey Koziol2001-11-201-620/+471
| | | | | | | | | | | Code cleanup Description: Be more careful when starting up and shutting down APIs, only initialize variables which are actually shut down already. Get rid of IDs from internal function calls Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4590] Purpose:Quincey Koziol2001-11-041-3/+3
| | | | | | | | | Code cleanup Description: Fix a bunch of warnings and also make the linux compilers happy with some casts. Platforms tested: Linux 2.2 (eirene)
* [svn-r4589] Purpose:Quincey Koziol2001-11-031-3/+2
| | | | | | | | Code cleanup Description: Clean up various compiler warnings from generic property updates. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4584] Raymond Lu2001-11-021-8/+7
| | | | | | | | | Purpose: Switch from old property list to new generic property list. Description: Mainly changed H5Pcreat, H5Pclose, H5Pcopy. Platforms tested: IRIX64 6.5, FreeBSD, SunOS 5.7.
* [svn-r4573] Raymond Lu2001-10-251-19/+36
| | | | | | | Purpose: Switch mount property list to the new generic property list. Platforms tested: IRIX64 6.5, SunOS 5.7, FreeBSD.
* [svn-r4569] Raymond Lu2001-10-241-98/+381
| | | | | | | | | Purpose: Generic Property List Change Description: Changed file access list to the new generic list. Platforms tested: IRIX64, SunOS5.7, FreeBSD
* [svn-r4548] Purpose:Quincey Koziol2001-10-161-13/+17
| | | | | | | | | | | Code cleanup. Description: Fix a few compiler warnings from the file creation property list -> generic property list conversion. Also change a hard-wired value (8) for the number of B-tree key values to a value that uses the enum's generated by the compiler. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4543] Raymond Lu2001-10-151-126/+334
| | | | | | | Purpose: Changed the file creation property list to the new generic property list. Platform tested: IRIX64, SunOS5.7, FreeBSD
* [svn-r4473] Purpose:Quincey Koziol2001-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | Code cleanup for better compatibility with C++ compilers Description: C++ compilers are choking on our C code, for various reasons: we used our UNUSED macro incorrectly when referring to pointer types we used various C++ keywords as variables, etc. we incremented enum's with the ++ operator. Solution: Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid, template) Fixed usage of UNUSED macro from this: char UNUSED *c to this: char * UNUSED c Switched the enums from x++ to x=x+1 Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4355] Purpose:Quincey Koziol2001-08-141-24/+24
| | | | | | | | | | | | | | | | | | | | | | Code cleanup (sorta) Description: When the first versions of the HDF5 library were designed, I remembered vividly the difficulties of porting code from a 32-bit platform to a 16-bit platform and asked that people use intn & uintn instead of int & unsigned int, respectively. However, in hindsight, this was overkill and unnecessary since we weren't going to be porting the HDF5 library to 16-bit architectures. Currently, the extra uintn & intn typedefs are causing problems for users who'd like to include both the HDF5 and HDF4 header files in one source module (like Kent's h4toh5 library). Solution: Changed the uintn & intn's to unsigned and int's respectively. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4324] Purpose:Quincey Koziol2001-08-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | New Features! Description: Start migrating the internal use of property lists in the library from the older implementation to the new generic property lists. Currently, only the dataset transfer property lists are migrated to the new architecture, all the rest of the property list types are still using the older architecture. Also, the backward compatibility features are not implemented yet, so applications which use dataset transfer properties may need to make the following changes: H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW) and H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id) This still may have some bugs in it, especially with Fortran, but I should be wrapping up those later today. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4181] Purpose:Quincey Koziol2001-07-101-8/+8
| | | | | | | | | Bug Fix, Code Cleanup, Code Optimization, etc. Description: Fold in the hyperslab speedups, clean up compile warnings and change a few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead. Platforms tested: FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
* [svn-r4022] Purpose:Bill Wendling2001-06-191-1/+1
| | | | | | | | | Code Cleanup Description: Changed POSIX function calls to the HD* way of doing things. Checked with checkposix and tested on Linux. Platforms tested: Linux
* [svn-r3781] Purpose:Bill Wendling2001-04-051-24/+24
| | | | | | | | | | | | | | | | | | Update Description: Changed #include <hdf_file.h> construct to #include "hdf_file.h" so that the GNU compiler can more easily pick up the dependencies which it places in the .depend and Dependencies files. Also regenerated the Dependencies to go along with this. Platforms tested: Linux
* [svn-r3677] Purpose:Albert Cheng2001-03-201-4/+0
| | | | | | | | | | | | | Bug fix (sort of) Description: The RCSID string in H5public.h was causing the C++ code problem as it was included multiple times and C++ did not like multiple definitions of the same static variable. Solution: Since we don't really make use of the RCSID strings as we have not installed it in all source files, we decided to remove it. Platforms tested: eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
* [svn-r3236] Purpose:Quincey Koziol2001-01-041-8/+8
| | | | | | | | Clean up code. Description: Cleaned up various compiler warnings. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3212] ./hdf5/src/H5F.cRobb Matzke2000-12-291-8/+8
|
* [svn-r2763] ./hdf5/src/H5F.cRobb Matzke2000-10-311-2/+8
| | | | | | | * 2000-10-31 Robb Matzke <matzke@llnl.gov> (H5F_dest) Do not call H5FL_FREE() if the root group object is null. This fixes a bug in h5ls when that tool is given a file which is not an hdf5 file.
* [svn-r2722] Purpose:Quincey Koziol2000-10-241-7/+7
| | | | | | | | | | Feature symmetry Description: A while ago I needed to get the 'type' of data being accessed during writes to the VFL driver, so I put in code to get the information down there. Albert asked for the same information during reads, so I've added that in. Tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2656] Purpose:Quincey Koziol2000-10-101-0/+27
| | | | | | | | | | | | | | Bug Fix Description: When parallel I/O is turned on, there were some macros used in the H5D routines which poked around in the H5F_t structure. This breaks the privacy of that structure and ties the H5D code too tightly to the H5F_t struct. Solution: Added a small function to retrieve the the value (driver_id) needed from the H5F_t function. Platforms tested: Eyeballed only, Albert needs this right away...
* [svn-r2652] Purpose:Quincey Koziol2000-10-101-27/+84
| | | | | | | | | | | | | | | Maintainance & performance enhancements Description: Re-arranged header files to protect private symbols better. Changed optimized regular hyperslab I/O to compute the offsets more efficiently from previous method of using matrix operations. Added sequential I/O operations at a more abstract level (at the same level as H5F_arr_read/write), to support the optimized hyperslab I/O. Platforms tested: Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
* [svn-r2600] Purpose:Quincey Koziol2000-09-261-0/+21
| | | | | | | | | | | Implemented new feature Description: Added data sieve buffering code to raw I/O data path. This is enabled for all the VFL drivers except the mpio & core drivers. Also added two new API functions to control the sieve buffer size: H5Pset_sieve_buf_size() and H5Pget_sieve_buf_size(). Platforms tested: Solaris 2.6 (i.e. baldric)
* [svn-r2557] Purpose:Thomas Radke2000-09-151-0/+7
| | | | | | | Added registration of the Stream Virtual File Driver. Description: The Stream VFD is registered here if it was configured.
* [svn-r2508] Purpose:Albert Cheng2000-09-061-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fixes Description: All tests were core=dumping in IRIX64. The bug is in Generic property list creation in which malloc asked for 2*64-1 bytes due to coding bug. The object creation failed but the return code was not checked. Program eventually crashed. Solution: H5F.c: Check the return code from new file object creation and flag error accordingly. H5FL.c: H5FL_arr_free is a replacement for H5MM_xfree which accepts null value as a legal argument value. H5FL_arr_free assert on it. Since other parts of the code have been passing null value to H5MM_xfree, H5FL_arr_free must accept it too until all the calling routines are changed to not pass Null. H5P.c: some routine passes in 0 as the hashsize value which is uintn. The expression (hashsize-1) underflows to the largest unsigned int for some machines. Thus the calloc failed. Cast hashsize to unsigned int first (this assumes hashsize stays within the signed int data range. H5Smpio.c: Added the extra parameter because the H5FD_write has been redefined. Platforms tested: IRIX64 -64 and -n32
* [svn-r2492] Added type of data parameter to H5F_block_write calls and also ↵Quincey Koziol2000-08-311-5/+7
| | | | | | added the metadata allocation size to the default file access property lists.
* [svn-r2476] Added free lists to track various data structures in memory, to ↵Quincey Koziol2000-08-161-7/+17
| | | | | | reduce malloc abuse.
* [svn-r2444] Checkpoint the Generic Property implementation. It's not active ↵Quincey Koziol2000-07-251-5/+5
| | | | | | yet, but it's close. This shouldn't interfere with other development work. (I think.. :-)
* [svn-r2223] Added logging version of sec2 file driver. This is _reallly_ ↵Quincey Koziol2000-05-081-0/+1
| | | | | | | useful for tracking the actual I/O locations and space used in a file during an application.
* [svn-r2163] Take out some debugging information which was accidentally ↵Quincey Koziol2000-04-191-2/+0
| | | | checked in.
* [svn-r2162] Various small fixes to address SGI compiler warnings.Quincey Koziol2000-04-191-2/+4
|
* [svn-r2151] Modified H5_term_library to not reported errors when ↵Quincey Koziol2000-04-151-10/+11
| | | | | | | | H5Eset_auto(NULL,NULL) has turned off error reporting in the library. Also, changed the way property lists are managed and closed so that they can be automatically closed when the library terminates.
* [svn-r2137] Add SRB as a new VFL, add related info into these source codes.Raymond Lu2000-04-131-2/+9
|
* [svn-r2057] Purpose:Albert Cheng2000-03-241-2/+4
| | | | | | | | | | | | | | Bug fix for parallel mode. Description: H5FD_mpio_tas_allsame was called for all cases, even when MPIO is not used for access. That corrupted the internal file handle structure. Solution: Define a macro, IS_H5FD_MPIO(f), for testing if f is opened with MPIO access. Will call H5FD_mpio_tas_allsame only if this condition is true. Platform tested: O2K, both -64 and -n32 modes.
* [svn-r1995] configure.in:Albert Cheng2000-03-011-3/+3
| | | | | | | | | | | | | | | | | | Makefile.in: acconfig.h: src/H5F.c: src/H5FDdpss.c: src/H5FDdpss.h: src/H5config.h.in: test/dpss_read.c: test/dpss_write.c: Changed the name DPSS to GRIDSTORAGE since that is the real name of the API from ANL. DPSS is just one of the protocols it can use. Changed a bug in the --with-ssl option. Makefile.in: Removed the copying of Makefile.dist since it caused problems when doing a make distclean in a --srcdir configured directory.
* [svn-r1925] DPSS is checked in.Raymond Lu1999-12-211-0/+8
|
* [svn-r1881] Changed all the HAVE_PARALLEL and HAVE_GASS macros to the newAlbert Cheng1999-12-171-8/+8
| | | | form of H5_HAVE_PARALLEL and H5_HAVE_GASS.
* [svn-r1785] Added stdio VFL driver, which uses the new public H5E calls.Quincey Koziol1999-10-201-3/+5
|
* [svn-r1696] Closed file handle leak for some failure cases.Quincey Koziol1999-09-301-1/+1
|
* [svn-r1689] Mainly adding support for "native" variable-length strings (C ↵Quincey Koziol1999-09-291-4/+5
| | | | | | | | only currently), but I fixed lots of misc. compiler warnings in other code and also tracked down the memory overwrite bug that was causing the development branch to core dump on most machines.
* [svn-r1627] Cleanup some minor bugs in the MPIO file-driver ported by Robb.Albert Cheng1999-09-031-1/+1
| | | | It is working now. Still need to tie up some loose ends.
* [svn-r1621] Added GASS driver. Coded by Saurabh Bagchi, bagchi@uiuc.edu.Albert Cheng1999-08-311-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor changes done to test/gass_xxx.c so that they print the test skip message when GASS driver is not available. This change is the implementation of GASS within HDF5-1.3 (HDF5 with Virtual File Layer). The GASS driver gives the facility of accessing HDF files on remote ftp servers. To use the GASS driver, the option --with-gass=<GASS path> shoud be specified with configure. An example of the command line used to test the distribution was: ./configure --disable-shared --without-hdf4 --with-gass=/afs/ncsa/projects/hdf/v5/bagchi/globus/GLB/development/sparc-sun-solaris2.6_nothreads_standard_debug/include,/afs/ncsa/projects/hdf/v5/bagchi/globus/GLB/development/sparc-sun-solaris2.6_nothreads_standard_debug/lib --disable-parallel The user should change the path to point to his local GASS installation. Documentation about the features of GASS and the HDF-GASS design is available separately and till it is put up on the official web site, anyone interested may contact me. Test programs to read, write or append remote files have been provided in the test directory as "gass_read.c", "gass_write.c", "gass_append.c". The test programs have the ftp site to access #define-d at the top of the file which the user can change accordingly. ./src/H5Epublic. Added new error type for file close. ./src/H5F.c Added hooks for the GASS driver. ./src/H5public.h Added header files for GASS & Globus. ./src/Makefile.in Added dependancy on GASS driver in LIB_SRC. ./src/hdf5.h Included header file for GASS driver. ./src/H5FDgass.c [NEW] Routines for the GASS driver. ./src/H5FDgass.h [NEW] Header file for the GASS driver. ./test/Makefile.in Added dependancy on the gass test routines. ./test/gass_read.c File to test remote file reading using GASS. ./test/gass_write.c File to test remote file writing using GASS. ./test/gass_append.c File to test remote file appending using GASS.
* [svn-r1595] Patrick Lu1999-08-251-2/+2
| | | | | | | | not sure if this is what was wanted but in the code where the file drivers are registered the end_registration: label was giving me some trouble with compilation on NT. I think the end_registration label was supposed to be empty and but on NT it didn't like that so i had to put a semi colon after the label. if this is wrong let me know and i'll fix it someother way
* [svn-r1585] Changes since 19990820Robb Matzke1999-08-241-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5D.c Added additional elements to a variable initializer in H5Dvlen_get_buf_size() to shut up a warning message. Also added the API tracing call. ./src/H5F.c Added file opening optimizations. If the driver doesn't support the ability to determine when two file handles refer to the same file (like MPIO and GASS) then H5F_open() makes fewer calls to the driver's open callback. Also, if the tentative file access flags are the same as the original flags then H5F_open() makes fewer calls to the file device. ./src/H5FD.c ./src/H5FDprivate.h ./src/H5FDpublic.h Added H5FD_get_class() so the library can get information about what file driver callbacks are defined. This will be useful when more optimization functions are added to the VFL, such as for MPIO derived datatype I/O. ./src/H5FDcore.c ./src/H5FDfamily.c ./src/H5FDmpio.c ./src/H5FDmulti.c ./src/H5FDsec2.c The driver symbols (like H5FD_CORE, etc) are actually function calls. The functions were fixed to return correct values even after calling H5close(). ./src/H5FDmulti.c ./src/H5FDmulti.h Added support for opening a file when parts are missing (only if the caller explicitly allows that in the file access property list). Moved some common code sequences into macros or functions. Added better support for reopening files. All the application has to know is that the file is a multi file and the base name from which all the member names are created. More debugging output when the file is opened with the H5F_ACC_DEBUG flag. Fixed various bugs. ./src/H5Fistore.c Chunked raw data was accidently allocated as meta data instead of raw data. ./src/H5I.c The H5Iget_type() function fails when invoked with an old object ID (an ID which has been closed down). ./test/h5test.c Added an extra argument when setting the multi file access property lists so the test fails if it can't open one of the sub-files. ./tools/h5ls.c Improved the algorithm for deciding what file driver to use. It basically tries all of the predefined drivers and is now able to open family, split, and multi files without looking for special characters in the file name. Added `-e' and `--errors' switches which cause errors from libhdf5 to be reported on stderr in addition to the simple error message displayed by h5ls.
* [svn-r1574] Changes since 19990817Robb Matzke1999-08-181-9/+10
| | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5D.c ./src/H5F.c ./src/H5FDmpio.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5Smpio.c The `driver_id' for a file was accidently put in two structs. I removed it from the H5F_file_t struct since it's really an attribute of the VFL stuff. More careful incrementing/decrementing the driver ID to fix a memory leak. ./src/H5P.c Rewrote H5Pcreate() in terms of H5P_copy() of a default property list. This fixes some referencing counting bugs.