Commit Graph

183 Commits

Author SHA1 Message Date
Quincey Koziol
efbadc2165 [svn-r4488] Purpose:
Fix on Kludge
Description:
    Forgot another chunk of parallel I/O code that needed to change for the
    generic property list kludge... :-/
Platforms tested:
    Parallel Linux 2.2.18smp (eirene)
2001-09-28 08:56:22 -05:00
Albert Cheng
82e12143f9 [svn-r4396] Purpose:
bug fix
Description:
    H5FD_mpio_flush() would try to file seek negative if the
    file->eoa is 0 (e.g., doing mpio on the raw-file of the
    split file driver).  Put in a code to catch this case
    by returning succeed immediately.
Platforms tested:
    modi4(pp)
2001-08-20 13:36:58 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
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)
2001-08-14 17:09:56 -05:00
Quincey Koziol
80c02cc6f1 [svn-r4327] Purpose:
More code cleanups
Description:
    Wrap up the code cleanups for changing the dataset transfer property lists
    over to using the generic property list code.
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 21:47:13 -05:00
Quincey Koziol
990fadfbe5 [svn-r4181] Purpose:
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)
2001-07-10 16:19:18 -05:00
Bill Wendling
09d2a0e719 [svn-r3914] Purpose:
Replace Kludge with Another Kludge
Description:
    The MPI_Get_count function isn't found on most systems. We need to
    replace this with a configure call which checks and defines the macro
    H5_HAVE_MPI_GET_COUNT or something.
Solution:
    If-def'ed out the code for everyone (since H5_HAVE_MPI_GET_COUNT is
    never defined anywhere).
Platforms tested:
    SDSC HP N9000
2001-05-11 17:23:58 -05:00
Bill Wendling
5e483d0184 [svn-r3781] Purpose:
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
2001-04-05 12:29:14 -05:00
Albert Cheng
cd864ac9d3 [svn-r3256] Purpose:
Typo fix and comment
Description:
    The FUNC_ENTER of H5FD_mpio_flush had a wrong function name.  Corrected
    it.  Also filled in the missing original author name.
    Added a 'this is collective.' to all collective functions.
Platforms tested:
    It was just editing.  Can't go wrong. :-)
2001-01-10 02:14:43 -05:00
Robb Matzke
7d28241062 [svn-r3219] ./hdf5/src/H5FDmpio.c
2000-12-29 13:26:28 Robb Matzke  <matzke@llnl.gov>
	* H5FD_mpio_write: Avoid MPI_Get_count() when using the LAM implementation of MPI.
	   This code must have other problems anyway because Kim
	   Yates has a similar kludge in place to avoid negative
	   return values from the same function.

2000-12-29 13:25:30 Robb Matzke  <matzke@llnl.gov>
	* H5FD_mpio_read: Avoid MPI_Get_count() when using the LAM implementation of MPI.
	   This code must have other problems anyway because Kim
	   Yates has a similar kludge in place to avoid negative
	   return values from the same function.

2000-12-29 11:28:13 Robb Matzke  <matzke@llnl.gov>
	* H5FD_mpio_flush: Read and rewrite the last allocated byte of the file to insure
	   that EOF>=EOA.

2000-12-29 09:32:49 Robb Matzke  <matzke@llnl.gov>
	* H5FD_mpio_write: Removed unused variable.

2000-12-29 09:32:15 Robb Matzke  <matzke@llnl.gov>
	* H5FD_mpio_write: Fixed a failure return value that should have been FAIL instead
	   of NULL.

2000-12-29 09:31:47 Robb Matzke  <matzke@llnl.gov>
	* H5FD_mpio_read: Removed unused variable.

2000-12-28 16:09:31 Robb Matzke  <matzke@llnl.gov>
	* H5FD_mpio_query: The `flags' argument is advertised to be output only. Therefore I
	   added code to zero its value before the feature bits
	   are assigned.
2000-12-29 13:35:21 -05:00
Albert Cheng
b72e8ae6b9 [svn-r3120] Purpose:
Bug fix
Description:
    In H5FD_mpio_open, there was a mem-xfree of the file variable
    before it ever gets alloc'ed.  This is inside a failure condition
    that rarely happened.  But if it happens, it would be freeing
    a null pointer.
Solution:
    Removed the error code.
Platforms tested:
    Modi4 -64 parallel. (Everything still works. :-)
2000-12-12 18:20:09 -05:00
Quincey Koziol
c4162e5ce5 [svn-r3010] Purpose:
Bug fix
Description:
    When the v1.2 compatibility code was turned on, internal functions in the
    library were getting confused.
Solution:
    Separated guts of H5Pget_driver call into an API function (the definition
    of which depends on the compatibility switch) and an internal function
    which always behaves like the v1.3/4 function.  Replaced API function calls
    in the library code with the internal function.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-11-28 11:38:39 -05:00
Quincey Koziol
0726621eaa [svn-r3005] Purpose:
Backward compatibility code
Description:
    Add in code to allow the library to emulate the v1.2 API and behavior.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-11-27 18:01:48 -05:00
Albert Cheng
e1cd6bcb61 [svn-r2935] Purpose:
Bug fix
Description:
    The optimized MPIO code was not working with the TFLOPS machine.
    It kept reporting "can't convert from size to size_i" errors in
    H5FD_mpio_write() and H5FD_mpio_read().
Solution:
    The error was actually in H5S_mpio_spaces_xfer() in H5Smpio.c
    in which the variable mpi_count was declared as size_t (only
    4 bytes big in TFLOPS) when it should be hsize_t (8 bytes big in TFLOPS).
    Corrected and also changed to use the (hsize_t) to case size_i in
    H5FD_mpio_write() and H5FD_mpio_read() since that is what it should
    be.
Platforms tested:
    TFLOPS and modi4 (-64, parallel)
2000-11-15 14:59:44 -05:00
Dan Wells
7808e2adac [svn-r2811]
Purpose:
    Bug fix.
Description:
    The names of some entries did not correspond with the names in the
    FUNC_ENTER macro.  This would cause inaccuracies during Pablo tracing.
Solution:
    The names were changed in FUNC_ENTER to agree with the entry names.
Platforms tested:
    Solaris, Irix, AIX, HP Vclass
2000-11-08 09:33:19 -05:00
Albert Cheng
0a6cfff27d [svn-r2774] H5FD.c:
Purpose:
    Bug fix
Description:
    H5FD_close() wiped clean the public information before
    closing the FD.  This caused problem to the lower level
    close() which wants to verify it has indeed handed a valid
    file-driver to close because that information is wiped out
    prematurely.
Solution:
    Moved the public information part cleaning after it is closed.

H5FDmpio.c:
    Added in a bunch of assertion to make sure the file handle is indeed
    an MPIO file.

Platforms tested:
    IRIX64 -64 parallel
2000-10-31 13:02:03 -05:00
Quincey Koziol
6aa0dd1620 [svn-r2722] Purpose:
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)
2000-10-24 13:18:09 -05:00
Quincey Koziol
64b8f7fd73 [svn-r2657]
Purpose:
    Parallel Bug Fixes
Description:
    Was out of sync with header file re-arrangements I checked in last night.

Solution:
    Fixed to use new header files, etc.
Platforms tested:
	O2K (modi4)
2000-10-10 15:55:54 -05:00
Quincey Koziol
ba28c64ba7 [svn-r2652] Purpose:
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)
2000-10-10 02:43:38 -05:00
Albert Cheng
d68bdee92f [svn-r2645]
Purpose:
    [is this a bug fix? feature? ...]
Description:
    [describe the bug, or describe the new feature, etc]
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2000-10-09 21:21:38 -05:00
Quincey Koziol
1ec946fac8 [svn-r2498] Added new VFL 'query' code and added new 'type of data' parameter to write
call.
2000-08-31 14:33:58 -05:00
Albert Cheng
e2c95c478a [svn-r2057] Purpose:
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.
2000-03-23 21:12:44 -05:00
Albert Cheng
aaca4e658b [svn-r1917] Updated the change history of H5FD_mpio_write(). 1999-12-20 13:18:17 -05:00
Albert Cheng
4ae42f7f15 [svn-r1915] Purpose:
Bug fix.
Description:
    When only p0 will write for allsame metadata, other processes
    returns with SUCCEED immediately.  In some racing conditions, the
    other processes may start reading the metadata before p0 has finished
    writing them out.  That results in errors.  (I verified by putting
    an intentional delay in the p0 code.  Other processes then got read
    errors always.)
Solution:
    When only-p0-writes is the case, p0 will Bcast the result to other
    processes.  This provides both a synchoronization and more valid
    logic since the other processes will return FAIL too IF p0 write
    fails.
    Also fixed a typo of the H5F_MPIO_DEBUG_KEY name.
    Also removed the incorrect #define's of FALSE and TRUE.
    They are already defined in H5private.h.
1999-12-20 10:06:36 -05:00
Albert Cheng
2c7bbf697f [svn-r1881] Changed all the HAVE_PARALLEL and HAVE_GASS macros to the new
form of H5_HAVE_PARALLEL and H5_HAVE_GASS.
1999-12-17 09:37:22 -05:00
Robert Kim Yates
290bf31554 [svn-r1849] Performance improvement to H5FD_mpio_open: eliminated unnecessary truncation. 1999-12-01 15:53:18 -05:00
Robb Matzke
eb8747499d [svn-r1802] Changes since 19991019
----------------------

./MANIFEST
./configure.in
./configure			[REGENERATED]
	Added more checking for `make' features.

./Makefile.in
./doc/Makefile.in
./doc/html/Makefile.in
./doc/html/Tutor/Makefile.in
./examples/Makefile.in
./pablo/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in		[REMOVED]
./config/depend1.in		[NEW]
./config/depend2.in		[NEW]
./config/depend3.in		[NEW]
./config/depend4.in		[NEW]
./config/dependN.in		[NEW]
	The directory search stuff was moved into commence.in, thereby
	shortening the Makefile.in prologues.

./doc/html/Dependencies		[NEW]
./doc/html/Tutor/Dependencies	[NEW]
./examples/Dependencies		[NEW]
./src/Dependencies		[NEW]
./test/Dependencies		[NEW]
./testpar/Dependencies		[NEW]
./tools/Dependencies		[NEW]
	The `.distdep' files were all renamed to `Dependencies' to make them
	more obvious. They are required (but may be empty) in every directory
	that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
	obvious error from make if you forgot to create one).

./bin/trace
./src/H5.c
	Added H5E_major_t and H5E_minor_t although tracing only prints the
	integer value.

./src/H5E.c
./src/H5Epublic.h
	Added tracing information.

./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDgass.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5FDstdio.c
	Fixed places where FUNC_LEAVE() evaluated it's argument more than
	once.

	Added tracing information.

	Wrapped long lines.

./config/gnu-flags
	Fixed a syntax error when we don't have a gnu compiler.
1999-11-01 10:21:16 -05:00
Albert Cheng
81c6472bcc [svn-r1795] Removed an extra return statement resulted from the previous changes. 1999-10-26 15:21:35 -05:00
Albert Cheng
2768e04e4c [svn-r1793] Corrected a typo. 1999-10-26 14:35:28 -05:00
Quincey Koziol
1953487e12 [svn-r1788] Converted all the VFL drivers except for the stdio and multi drivers back into
the "internal" HDF5 coding standard.
1999-10-22 19:36:04 -05:00
Albert Cheng
cb0a0eb41e [svn-r1627] Cleanup some minor bugs in the MPIO file-driver ported by Robb.
It is working now.  Still need to tie up some loose ends.
1999-09-02 19:15:57 -05:00
Robb Matzke
296d9cf766 [svn-r1585] Changes since 19990820
----------------------

./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.
1999-08-24 07:52:10 -05:00
Robb Matzke
cc89b8a605 [svn-r1572] Changes since 19990810
----------------------

./MANIFEST
./src/H5FDmulti.c		[NEW]
./src/H5FDmulti.h		[NEW]
./src/Makefile.in
./src/hdf5.h
	The split driver was reimplemented as a more general "multi"
	driver which is capable of splitting data into multiple files
	like the family driver except the partioning is done by memory
	usage type instead of address. The H5Pset_fapl_split()
	function just calls H5Pset_fapl_multi() with arguments which
	prepare to split the address space into two files: meta and
	raw data.

	This is the first version. I plan to allow the open() call to
	relax a bit which would allow one to open an hdf5 file when
	only the meta-data file is present. This would allow a very
	large file to be split and stored on tape and the relatively
	small meta file to be mirrored on disk to allow limited
	browsing of the file (any request for raw data would fail).

./src/H5private.h
./src/H5F.c
./src/H5FD.c
./src/H5FDprivate.h
./src/H5FDpublic.h
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDmpio.c
./src/H5FDsec2.c
	Added the ability for a file driver to store information in
	the superblock which would be needed if the file were opened
	again later for reading.  The format is driver-defined which
	allows users to extend it however they like.

./doc/html/H5.format.html
	Added information about the new driver information block of
	the superblock. This is where file drivers store information
	they need in order to reopen the file later.


./src/H5F.c
./src/H5Fprivate.h
./src/H5FD.c
./src/H5FDprivate.h
./src/H5FDpublic.h
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5Fistore.c
./src/H5R.c
	The file access properties and the file access property list
	were decoupled, which allows the property list to more cleanly
	contain properties for various levels of the file and which
	allows the property list to be modified more cleanly when
	opening files.

./src/H5.c
./src/H5FDpublic.h
	Removed H5FD_MEM_META and H5FD_MEM_GROUP since they're never
	used.

./src/H5D.c
	Changed the way we detect the MPIO driver in all these special
	cases.

./src/H5F.c
./src/H5Rpublic.h
./test/tfile.c
	The default file sizeof(offset) was changed to be a function
	of haddr_t instead of hsize_t.

	THE H5RPUBLIC.H DEFINITIONS WILL HAVE PROBLEMS IF THE USER
	CREATES A FILE WITH NON-DEFAULT OFFSET AND SIZE SIZES!

./src/H5F.c
	Fixed an uninitialized memory access bug in file closing
	related to the VFL.

./src/H5T.c
./src/H5Tpublic.h
	Added an H5T_NATIVE_HADDR predefined datatype which
	corresponds to the `haddr_t' type.

./test/Makefile.in
	Reformatted long lines.

./test/big.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
	Removed the H5F_ACC_DEBUG flag from file creation/open calls.

./test/big.c
	Plugged a memory leak.

./test/h5test.c
	Added support for the `multi' driver.

	Removed #warning about not having the stdio driver. Plans are
	to not implement it since the sec2 driver serves the same
	purpose and testing didn't show any difference in execution
	times between the two.
1999-08-17 14:12:59 -05:00
Robb Matzke
cbf68fc824 [svn-r1568] Changes since 19990730
----------------------

This extensive change is the virtual file layer implementation. I've
ported and tested the sec2, family, and core drivers and only ported
the mpio driver (Albert will test it).  So if you need MPIO I would
recommend sticking with the previous version for a while.

You will get a few compile warnings about split and stdio drivers not
being implemented and possibly tracing information not inserted in
some of the drivers. You can safely ignore them but I plan to fix
them.

I'm still working on the split driver because I just realized that it
needs a part of the VFL that isn't written yet.

Documentation is being updated also because there were some minor
changes (mostly just name changes). It should be available on my web
site later this week.

./MANIFEST
./src/Makefile.in
./src/hdf5.h
./src/H5Flow.c			[REMOVED]
./src/H5Fstdio.c		[REMOVED]
./src/H5Fsec2.c			[REMOVED]
./src/H5Fsplit.c		[REMOVED]
./src/H5Fmpio.c			[REMOVED]
./src/H5Ffamily.c		[REMOVED]
./src/H5Fcore.c			[REMOVED]
./src/H5MFpublic.h		[REMOVED]
./src/H5FD.c			[NEW]
./src/H5FDcore.c		[NEW]
./src/H5FDcore.h		[NEW]
./src/H5FDfamily.c		[NEW]
./src/H5FDfamily.h		[NEW]
./src/H5FDmpio.c		[NEW]
./src/H5FDmpio.h		[NEW]
./src/H5FDprivate.h		[NEW]
./src/H5FDpublic.h		[NEW]
./src/H5FDsec2.c		[NEW]
./src/H5FDsec2.h		[NEW]
	Removed/added files for virtual file layer.

./bin/trace
./src/H5.c
	Removed unused public datatypes and added new VFL public
	datatypes.

	Changed an error message.

./config/BlankForm
./config/dec-flags
./config/gnu-flags
./config/hpux10.20
./config/hpux9.03
./config/irix5.x
./config/irix6.x
./config/solaris2.x
./config/unicosmk
	Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
	configuration since they're no longer applicable. The default
	file driver is always the sec2 driver and it always optimizes
	calls to lseek() or lseek64().

./config/depend.in
	C preprocessor errors generated during automatic dependency
	building are sent to /dev/null to prevent them from appearing
	twice in the make output.

./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oshared.c
./src/H5T.c
./src/H5detect.c
./test/ohdr.c
	Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
	with the `haddr_t' datatype which is now a public type.

./src/H5D.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Tconv.c
./test/cmpd_dset.c
./test/dsets.c
./test/overhead.c
./test/tselect.c
./test/tvltypes.c
	The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
	because the properties apply to all types of I/O operations,
	not just datasets.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/big.c
./test/h5test.c
./test/istore.c
./testpar/t_dset.c
./testpar/t_file.c
./tools/h5debug.c
./tools/h5ls.c
	Modified to work with the virtual file layer by calling H5FD_*
	functions instead of H5F_low_* functions and by passing file
	access and data transfer properties by object ID instead of
	pointer.

	Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
	COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
	MPIO file driver.

	Moved MPIO-specific stuff into the MPIO driver.

./src/H5B.c
./src/H5D.c
./src/H5Fprivate.h
	The H5F_mpio_* private functions were renamed and placed in
	the H5FDmpio driver except those which appeared in H5Smpio.c.

./src/H5E.c
./src/H5Epublic.h
	Added major error number H5E_VFL for virtual file layer
	related errors.

./src/H5F.c
./src/H5Fprivate.h
	Changed the logic that controls whether the boot block is
	written. Instead of assuming that the first call to write the
	boot block is only to allocate space, I've added a function
	argument which makes this explicit.

	Changed the way files are compared so that a driver-defined
	comparison function can be called.  Files which belong to
	different drivers are always considered different.

	Removed H5F_driver_t since file drivers are now identified by
	object ID instead of a special non-user-extendible datatype.

	Removed all the hard-coded low-level file properties which
	have been replaced by the various file drivers.

./src/H5I.c
./src/H5Iprivate.h
	Added the H5I_inc_ref() which was removed a few months ago
	since we finally have a use for it.

./src/H5Ipublic.h
	Added the H5I_VFL object ID type to identify file drivers in
	the virtual file layer.

./src/H5MF.c
./src/H5MFprivate.h
	Moved all the allocation/deallocation code into the virtual
	file layer which allows file drivers to override much of it.

./src/H5P.c
./src/H5Ppublic.h
	Moved file driver-specific code into the various file driver
	files.

	The H5Pcopy() and H5Pclose() functions make calls into the
	virtual file driver to manage the memory for driver-specific
	file access and data transfer properties.

./src/H5private.h
./src/H5public.h
	The `haddr_t' type is now public.

./test/tfile.c
	Added a few more comments.
1999-08-10 15:21:32 -05:00