[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.
This commit is contained in:
Robb Matzke
1999-08-17 14:12:59 -05:00
parent 5ef0237e2f
commit cc89b8a605
35 changed files with 3049 additions and 159 deletions

View File

@@ -266,7 +266,7 @@ each high-level object.
</tr>
<tr align=center>
<td colspan=4>Reserved Address</td>
<td colspan=4>Driver Information Block Address</td>
</tr>
<tr align=center>
@@ -480,12 +480,14 @@ each high-level object.
used.</td>
</tr>
<tr valign=top>
<td>Reserved Address</td>
<td>This address field is present for alignment purposes and
is always set to the undefined address value (all bits
set).</td>
</tr>
<tr valign=top>
<td>Driver Information Block Address</td>
<td>This is the relative file address of the file driver
information block which contains driver-specific
information needed to reopen the file. If there is no
driver information block then this entry should be the
undefined address (all bits set).</td>
</tr>
<tr valign=top>
<td>Root Group Symbol Table Entry</td>
@@ -497,6 +499,91 @@ each high-level object.
</table>
</center>
<p>The file driver information block is an optional region of the
file which contains information needed by the file driver in
order to reopen a file. The format of the driver information
block is:
<p>
<center>
<table border align=center cellpadding=4 width="80%">
<caption align=top>
<B>Driver Information Block</B>
</caption>
<tr align=center>
<th width="25%">byte</th>
<th width="25%">byte</th>
<th width="25%">byte</th>
<th width="25%">byte</th>
</tr>
<tr align=center>
<td>Version</td>
<td colspan=3>Reserved (zero)</td>
</tr>
<tr align=center>
<td colspan=4>Driver Information Size (4 bytes)</td>
</tr>
<tr align=center>
<td colspan=4><br>Driver Identification (8 bytes)<br><br></td>
</tr>
<tr align=center>
<td colspan=4><br><br>Driver Information<br><br><br></td>
</tr>
</table>
</center>
<p>
<center>
<table align=center width="80%">
<tr>
<th width="30%">Field Name</th>
<th width="70%">Description</th>
</tr>
<tr valign=top>
<td>Version</td>
<td>The version number of the driver information block. The
file format documented here is version zero.</td>
</tr>
<tr valign=top>
<td>Driver Information Size</td>
<td>The size in bytes of the Driver Information part of this
structure.</td>
</tr>
<tr valign=top>
<td>Driver Identification</td>
<td>This is an eight-byte ASCII string without null
termination which identifies the driver and version number
of the Driver Information block. The predefined drivers
supplied with the HDF5 library are identified by the
letters "NCSA" followed by the first four characters of
the driver name. If the Driver Information block is not
the original version then the last letter(s) of the
identification will be replaced by a version number in
ASCII. For example, the various versions of the "family"
driver will be identified by "NCSAfami", "NCSAfam0",
NCSAfam1", etc. Identification for user-defined drivers is
arbitrary but should be unique.</td>
</tr>
<tr valign=top>
<td>Driver Information</td>
<td>Driver information is stored in a format defined by the
file driver and encoded/decoded by the driver callbacks
invoked from the <code>H5FD_sb_encode</code> and
<code>H5FD_sb_decode</code> functions.</td>
</tr>
</table>
</center>
<h3><a name="Btrees">Disk Format: Level 1A - B-link Trees</a></h3>
<p>B-link trees allow flexible storage for objects which tend to grow
@@ -3584,7 +3671,7 @@ data-type.
<address><a href="mailto:koziol@ncsa.uiuc.edu">Quincey Koziol</a></address>
<address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
<!-- hhmts start -->
Last modified: Fri Jun 11 14:11:57 EDT 1999
Last modified: Tue Aug 17 10:57:50 EDT 1999
<!-- hhmts end -->
</body>
</html>