Commit Graph

6681 Commits

Author SHA1 Message Date
Robb Matzke
92571bbe1d [svn-r336] Changes since 19980402
----------------------

./MANIFEST
./test/Makefile.in
./test/shtype.c		[NEW]
	Added some tests for shared data types.

./configure.in
	Removed MF and HL from the default debug list since.  MF
	because it hasn't been implemented yet and HL because it
	produces lots of annoying messages about adjusting the size of
	local heaps.

./src/H5F.c
./src/H5T.c
./src/H5Tprivate.h
	Fixed a bug with opening the same file twice.  The first close
	on the file_id incorrectly closed shared data structs.
	Closing a file now correctly unshares data types that might be
	pointing into that file.

./src/H5T.c
./src/H5Tpublic.h
	Added an H5Tis_shared().  The caller supplies a file and a
	data type and the function returns true if the data type is
	currently marked for sharing in that file.

./src/H5AC.c
./src/H5F.c
./src/H5HL.c
./src/H5HG.c
./src/H5MF.c
./src/H5O.c
	We now detect errors sooner when writing to a read-only
	file. In the past, the error might not show up until the
	cached item was flushed, and it was sometimes possible to not
	even get an error!

./src/H5I.c
./src/H5Iprivate.h
	If the search function fails then H5I_search() returns
	failure.  Also, the first argument for the search function
	isn't const anymore because we might want the search to have
	side effects (like calling H5T_unshare() for all shared data
	types whose file just closed).
1998-04-03 16:11:05 -05:00
Robb Matzke
a780cdd178 [svn-r335] Changes since 19980330
----------------------

./MANIFEST
./src/Makefile.in
./test/Makefile.in
        Added new files.

./config/linux
./src/H5HL.c
./src/H5HLprivate.h
./src/H5MF.c
./src/H5MFprivate.h
        Added `-DH5HL_DEBUG -DH5MF_DEBUG' to the debug list.

./html/H5.format.html
        Updated shared object message information.

./src/H5D.c
        Datasets can now share data types.

./src/H5F.c
        Updated a comment that referred to H5ACC_WRITE.

./src/H5HG.c
./src/H5HGprivate.h
        Moved a few things around.  Made debugging better so you can
        now give a collection address to ./src/debug and it shows some
        useful stuff.

./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c       [NEW]
./src/H5Ostab.c
        Supports shared messages.

./src/H5T.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
        The H5Tshare() function allows the user to give the library
        hints about how a data type will be used.

./test/shtype.c
        Tests the H5Tshare() function.

./test/gheap.c
        Tests the global heap.

./configure.in
./config/BlankForm      [NEW]
./config/alpha-dec
./config/freebsd2.2.1
./config/hpux10.20
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
        Cleaned up lots of configuration stuff and made the site
        configuration files lots easier and more uniform.  To make a
        new file grab the BlankForm and modify it.

        By default, debugging is turned on for most packages.  Within
        a package one can use `#ifdef H5AC_DEBUG' to wrap debugging
        code.  Other options are:

           --enable-debug
           --enable-debug=yes
               The default, most but not all packages.

           --disable-debug
           --enable-debug=no
           --enable-debug=none
               The symbol NDEBUG is defined and none of the package
               debug symbols.

           --enable-debug=all
               Debugging is turned on for all packages.  This might
               produce lots of output.

           --enable-debug=g,d
               Debugging is turned on for H5G and H5D.

        A compile mode is also now supported

           --enable-production
           --enable-production=yes
               The library is compiled with optimizations turned on.
               The compiler flags are augmented by adding PROD_CFLAGS
               and PROD_CPPFLAGS which are defined in the site config
               file.

           --disable-production
           --enable-production=no
               The default.  The library is compiled for development
               by including DEBUG_CFLAGS and DEBUG_CPPFLAGS defined in
               the site config file.  This is usually just `-g'.

           --enable-production=profile
           --enable-production=pg
               Builds a library for profiling by including the flags
               from PROFILE_CFLAGS and PROFILE_CPPFLAGS defined in the
               site config file.  This is usullay just `-pg' but it
               could include optimization flags as well depending on
               the type of profile one wants.

        In summary, configure by saying `./configure' and you'll get a
        development version of the library.  Configure by saying
        `./configure --enable-production --disable-debug' and you'll
        get a production version with no debugging code.
1998-04-02 22:29:38 -05:00
Robb Matzke
78c1574378 [svn-r333] Changes since 19980324
----------------------

./MANIFEST
./src/H5HG.c		[new]
./src/H5HGprivate.h	[new]
./src/H5HGpublic.h	[new]
./src/Makefile.in
	Added global heaps, H5HG.  This compiles but is untested.

./src/H5D.c
./src/H5G.c
./src/H5Gnode.c
./src/H5Gstab.c
./src/H5HL.c		[renamed from H5H.c]
./src/H5HLprivate.h	[renamed from H5Hprivate.h]
./src/H5HLpublic.h	[renamed from H5Hpublic.h]
./src/H5Oefl.c
./src/Makefile.in
./src/hdf5.h
./test/theap.c
	Renamed local heaps from H5H to H5HL.

./src/H5AC.c
./src/H5ACprivate.h
./src/debug.c
	Added debugging support for global heap collections.

./html/H5.format.html
	Ripped out the old small object heap documentation and added
	documentation for the new global heap.

./html/H5.api.html
./src/H5P.c
./src/H5Ppublic.h
./src/H5F.c
./src/H5Fprivate.h
./src/H5private.h
	The H5Pget_version() function no longer returns a small object
	heap version number.  Instead, each collection of the global
	heap has its own version number instead of a single number in
	the file boot block.

./bin/release
	Omit files marked for removal by CVS even though the removal
	hasn't been committed yet.

./test/iopipe.c
	Removed warnings about casting unsigned int to double on Irix64.

./MANIFEST
	Removed ./test/testpar/phdf5sup.c
1998-03-30 14:24:08 -05:00
Robb Matzke
e987de2c42 [svn-r329] Changes since 19980324
----------------------

./src/H5D.c
	Zero element requests for H5Dread() and H5Dwrite() succeed.

./src/H5F.c
./src/H5Fprivate.h
	All files will have a root group. This greatly simplifies the
	library at the expense of ~1k extra bytes in files that have
	only one object.

./src/H5D.c
./src/H5Dprivate.h
./html/Groups.html
	Functions that used to take a file ID and an object name can
	now take a group ID instead of a file ID.  This doesn't change
	the API, only it's documentation.

./src/H5G.c
./src/H5Gprivate.h
./src/H5O.c
./src/H5Oprivate.h
	Removed extra file arguments from some internal functions
	since the file pointer can be found from the group pointer or
	a symbol table entry (ent->file or H5G_fileof(group)).
	Besides, when we eventually implement mounting one file on
	another, H5G_namei() might return a different file than what
	you gave it, and that file is part of the returned symbol
	table entry.

./src/H5G.c
	Fixed bug with `.' appearing in a name. It used to hang the
	library.

./src/Makefile.in
./src/h5ls.c		[NEW]
./MANIFEST
	Added `h5ls' a simple program that takes a file name and a
	directory and lists the contents of that directory using
	H5Giterate().

./test/istore.c
	Changed an argument to H5G_create().

./test/tstab.c
	Removed test_1 which was testing that files with a single
	object don't have a root group.  This no longer applies.
1998-03-24 18:18:34 -05:00
Robb Matzke
2ed9aa69f7 [svn-r328] Changes since 19980318
----------------------
./src/H5B.c
./src/H5Bprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gpublic.h
./src/H5Gstab.c
	Implemented H5Giterate().  However, since most functions can't
	take a group ID in place of a file ID yet, there's not a whole
	lot that the operator can do besides print the name or something.

./test/H5O.c
	Fixed writing of four uninitialized bytes to the file as part
	of an object header.

./test/istore.c
	For some reason, `mpirun -np 1 istore' results in extra
	arguments on the command line that istore doesn't understand.
	I'm probably forgetting to call some MPI function in
	main(). Albert, Kim?  So I commented out the `exit(1)' for the
	time being.
1998-03-24 09:53:57 -05:00
Robb Matzke
2fd149a582 [svn-r325] Changes since 19980317
----------------------

./MANIFEST
./configure.in
./configure
./Makefile.in
./bin/distdep		[NEW]
./config/conclude.in
./config/depend.in
./src/.distdep		[NEW]
./test/.distdep		[NEW]
	Added some code so non-GNU systems have a list of dependencies
	between the .c files and the .h files.  Hopefully this works
	and y'all don't have to keep saying `make clean' each time you
	change a header.

	On systems with GNU make, GCC, and Perl, the dependency
	information is generated automatically from rules in
	config/depend.in as has always been done.  But now extra files
	called `.distdep' (for `distributable dependencies) are left
	in each directory and these are part of CVS and thus
	releases.  (A `make dep' will create dependencies on demand
	without doing anything else.)

	On systems lacking one or more of the tools above, the various
	`.distdep' files are inserted into the end of the Makefiles.
	If you do developement on one of these systems you'll have to
	update the `.distdep' and/or Makefile by hand, or wait until
	you have access to a GNU system and do a `make dep'.
1998-03-18 13:09:16 -05:00
Quincey Koziol
96dd634330 [svn-r324] Change H5A (atoms) to H5I (IDs) 1998-03-17 17:46:27 -05:00
Robb Matzke
4494348eb2 [svn-r323] Changes since 19980316
----------------------

./src/H5D.c
./src/H5T.c
./src/H5Tprivate.h
	Fixed a bug found by Kevin Powell regarding preservation of
	existing data during a read or write when the source and
	destination data types are the same.  Thanks Kevin!

	Fixed a couple warnings on Irix64.

./src/H5D.c
./src/H5Dprivate.h
./src/H5P.c
./src/H5Ppublic.c
./src/H5Tconv.c
./src/H5Tpublic.h
./test/cmpd_dset.c
	The application can now turn on/off the part of the I/O
	pipeline that deals with preservation of initialized data.
	The default is off since this will be the usual case and
	turning it on slows down the pipe.  Use H5Pset_preserve() and
	H5Pget_preserve().

./src/H5Fistore.c
	Added an optimization for reading/writing a single chunk of
	chunked storage.

./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Ostab.c
	Fixed warnings reported by marek@iiasa.ac.at.  Thanks Marek.

./src/H5Odtype.c
	Fixed a failing assert() wrt reading compound types (not
	present in hdf5-1.0.0a).
1998-03-17 16:50:32 -05:00
Robb Matzke
31a709a6b2 [svn-r322] Changes since 19980313
----------------------

./configure.in
./configure
./test/iopipe.c
	Added check for system(3)

./config/freebsd2.2.1
./config/linux
	Added -DH5D_DEBUG to the debug flags.

./src/H5D.c
./src/H5Dprivate.h
./src/H5P.c
./src/H5Ppublic.h
./src/H5Sprivate.h
./src/H5Ssimp.c
./html/Datasets.html
	Finally implemented strip mining in the I/O pipeline, placing
	a user-defined upper bound on the amount of temporary memory
	used by the pipeline.  The default is 1MB type conversion and
	background buffers allocated/freed on demand.  However, the
	size can be changed and/or application-allocated buffers
	supplied with H5Pset_buffers() called on the data transfer
	property list passed to H5Dread() and H5Dwrite().

	Minor optimizations to H5Dread() and H5Dwrite().  More coming
	later...

./test/dsets.c
	Added calls to H5Pset_buffer() to test application-defined
	temporary buffers in the I/O pipeline.

./test/Makefile.in
	Removed `iopipe' from the list of confidence tests.  Saying
	`make timings' in the test directory runs timing tests.  I did
	this because (1) they don't really test anything new, and (2)
	they can take a long time to run.
1998-03-16 20:29:54 -05:00
Robb Matzke
48e0751106 [svn-r321] Changes since 19980306
----------------------

./MANIFEST
./src/H5D.c
./src/H5S.c
./src/H5Sprivate.h
./src/H5Ssimp.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5V.c
./test/Makefile.in
./test/iopipe.c			[NEW]
	Optimizations to the I/O pipeline.

./src/H5Fistore.c
./src/H5Oefl.c
	Fixed a few compiler warnings.

./MANIFEST
	Added entries for ./config/{intel-osf1,irix5.3}
1998-03-13 12:50:38 -05:00
Quincey Koziol
e4d89c2cd6 [svn-r319] Removed H5M API from code 1998-03-12 16:04:53 -05:00
Albert Cheng
a2894e13b5 [svn-r312] MPI_File_open now uses the comm and info as specificied in
the access_template, instead of COMM_WORLD and INFO_NULL as
before.
1998-03-08 01:25:58 -05:00
Robb Matzke
9919e1a428 [svn-r311] Changes since 19980305
----------------------

./configure.in
./configure
./config/commence.in
	Added checking for `ar' then `xar' and set the $(AR) variable
	in the Makefiles.  The check is not performed if $AR is
	already defined in the environment (including being set in a
	config file).  We check for `-lcoug' for ASCI/Red.
1998-03-06 00:34:36 -05:00
Albert Cheng
44da2314b5 [svn-r310] Fixed a type of H5F_LOW_MPIO. Chose _MPIO over _MPI since that
is more consistent with other names like STDIO.
1998-03-05 22:52:40 -05:00
Albert Cheng
01cb507f89 [svn-r309] Revised datatype as uint32 is no longer valid. 1998-03-05 22:49:01 -05:00
Robb Matzke
7915842498 [svn-r306] Changes since 19980305
----------------------

./src/H5D.c
./test/external.c
        A contiguous dataset can now be stored in external files in
        such a way that the slowest varying dimension can be increased
        after the dataset is created and even written.  The user must
        have reserved enough space in the external file and the data
        space must allow an increase the the slowest varying dimension.
        See test_3() of ./test/external.c

./src/H5Oefl.c
./configure.in
./src/H5Fprivate.h
        Fixed an overflow bug with unlimited external storage.

./src/H5V.c
        Fixed a cast warning.

./test/dsets.c
        Make better use of automatic error reporting.
1998-03-05 16:27:38 -05:00
Robb Matzke
4badc161ae [svn-r305] Changes since 19980304
----------------------

./MANIFEST
	New files

./html/extern1.gif		[NEW]
./html/extern1.obj		[NEW]
./html/extern2.gif		[NEW]
./html/extern2.obj		[NEW]
./html/Datasets.html
	Documented external raw data storage.

./html/Datasets.html
./html/chunk1.gif		[NEW]
./html/chunk1.obj		[NEW]
	Added a picture and better description for chunking since it
	seems that people are thinking chunks are fixed-size at the
	file level instead of at the array level.

./src/H5D.c
./src/H5Dpublic.h
./test/external.c
	Changed H5Dget_create_parms() to H5Dget_create_plist().

./src/H5D.c
./src/H5Farray.c
./src/H5Fprivate.h
./src/H5Oefl.c
./src/H5Oprivate.h
./src/H5Sprivate.h
./src/H5Ssimp.c
./test/external.c
./test/istore.c
	External raw data file I/O for contiguous storage is now
	working.  The library supports segments of various sizes which
	can be scattered throughout multiple files in any order.

./test/Makefile.in
	Remove more temporary files.
1998-03-05 10:48:16 -05:00
Robb Matzke
7bdea74ca9 [svn-r303] Changes since 19980228
----------------------

./html/Dataspaces.html
./html/Errors.html
./html/Files.html
./html/H5.api.html
./html/review1.html
./src/H5private.h
./src/H5public.h
./test/dsets.c
./test/dtypes.c
	Removed all the types like `int32' and `intn' into private
	headers since they violate the naming scheme and pollute
	application name space.  Besides, our test files only use them
	in a handful of places and it's probably useless to export
	them to the app.  The app is always written in terms of
	standard numeric types or its own numeric types and probably
	never in terms of HDF5 numeric types.  If it were, then the
	user would have to copy from their type to hdf5 type for
	almost every hdf5 API function call!  Same goes for return
	values.  I also removed SUCCEED/FAIL from the API since apps
	should be checking against zero anyway.

	       if (FAIL==(space=H5Screate_simple(...))) /*wrong*/
	       if ((space=H5Fcreate_simple(...)<0))     /*right*/


./src/H5.c
	Changed arguments of H5version() from `uintn' to `unsigned'.

./src/H5Tpublic.h
./src/H5T.c
	Changed return type of H5Tget_nmembers() from `intn' to `int'


./src/H5A.c
./src/H5Aprivate.h
./src/H5Apublic.h
	Changed `H5Asearch_func_t' to `H5A_search_func_t' and moved
	its definition from the public to the private header file.


./html/H5.format.html
	Documented changes made to the external file list (H5O_EFL)
	message.

./src/H5D.c
./src/H5Dprivate.h
./src/H5E.c
./src/H5Epublic.h
./src/H5O.c
./src/H5Oefl.c
./src/H5Oprivate.h
./src/H5P.c
./src/H5Ppublic.h
	Added partial support for external raw data files.  HDF5 can
	now describe external raw data files by listing the file
	names, offsets, and size for a dataset. However, we will
	restrict a dataset to be stored "contiguously" when the
	external file list is viewed as a single address space. The
	current implementation is unable to read/write to external
	files--that will come later this week as will documentation.
	For now, take a look at ./test/external.c, particularly the
	calls to H5Pset_external().

./test/Makefile.in
./test/external.c		[NEW]
./MANIFEST
	Added tests for external storage.  Note: the read test is
	supposed to fail at this point since reading external datasets
	is not implemented yet.  There is no write test.

./src/H5S.c
./src/H5Sprivate.h
./src/H5Ssimp.c
	Added H5S_get_npoints_max() to return the maximum possible
	number of data points in a data space.

	Added an extra argument to H5S_get_dims() which returns the
	maximum dims.

./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5M.c			[DEPRICATED]
./src/H5Mpublic.h		[DEPRICATED]
	Changed `template' to `property list' in lots of places.

./src/H5Osdspace.c
	Removed an extra `\n' from a print statement.

./src/H5S_public.h
	Changed H5S_UNLIMITED to the maximum size_t value.

./test/extend.c
	"Extendable" is spelled "extendible".

./src/H5Farray.c
./src/H5V.c
./src/H5Vprivate.h
./test/hyperslab.c
	Strides are now type ssize_t instead of int.  These have
	nothing to do with the sample granularity arguments for
	hyperslabs, which are also called "strides" in the code.

./test/tstab.c
	Changed assumptions about default address and length sizes.
1998-03-04 11:20:23 -05:00
Robb Matzke
808a5e6be1 [svn-r302] Changes since 19980227
----------------------

./html/Errors.html		[NEW]
./html/H5.user.html
./MANIFEST
	Documents the new error handling interface and gives examples.

./src/H5.c
./src/H5private.h
./src/H5Apublic.h
./src/H5E.c
./src/H5Eprivate.h
./src/H5Epublic.h
	Rewrote error handling. Got rid of `push' overloading and
	added a few API functions.  The error stack is statically
	allocated and not entered into H5A, simplifying error handling
	within the error handler. Rudimentary support for threads.
	Changed the names of some errors.

./src/H5G.c
./src/H5Gnode.c
./src/H5H.c
./src/H5O.c
./src/H5T.c
	Changed H5ECLEAR to H5E_clear().

./src/Makefile.in
	Alphabetized source list.

./test/dsets.c
	Turned off error reporting around functions that are expected
	to fail.  Error messages are sent to stdout.

./test/testhdf5.c
./test/testhdf5.h
	Turned off automatic error reporting since this file mostly
	calls internal functions and does its own error reporting.
1998-02-28 13:19:05 -05:00
Robb Matzke
0b4d32bb4a [svn-r301] Changes since 19980226
----------------------

./bin/release
	Changed default to not tag CVS sources.

./src/H5F.c
	Replaced a constant switch with preprocessor directives.
	Removed a local variable which was set but not used.

./src/H5Fprivate.h
	Changed `long long' to `int64' to get rid of ansi warnings in
	a few places.

	Fixed bugs in INT64DECODE() and UINT64DECODE() for big-endian
	architectures.  This fixes all the bugs with the Irix -64
	compile.

./src/H5F.c
	The default address and length sizes are set according to the
	sizeof(size_t) now that the bugs have been fixed.

./src/H5Fpublic.h
	Removed a trailing comma in an enumerated type.

./src/H5Fstdio.c
./src/H5Fsec2.c
	Added two more calls to fseek64() and lseek64(). Removed `long
	long' in place of `int64' to suppress -ansi warnings.

./src/H5P.c
	Replaced a FAIL with H5F_LOW_ERROR.

./src/H5private.h
./configure.in
	Increased version number to hdf5-1.0.1a since we've already
	released hdf5-1.0.0a.  Include <sys/types.h>.  Fixed
	indentation.  Fixed detection of off64_t for old Irix systems
	where it might be a struct.

./src/Makefile.in
	Moved a comment from the shell to the makefile since some
	versions of sh barf on interactive comments.

./config/linux
	Allow overriding of the CC variable from the command-line.  It
	still defaults to gcc but this allows us to specify a complete
	path from test scripts by saying:

	     CC=/usr/local/tools/gnu/gcc sh configure
1998-02-27 15:07:37 -05:00
Robb Matzke
ed6d456f28 [svn-r300] ./MANIFEST
Changed names for P->S and C->P changes.

./INSTALL
	Added a note.
1998-02-26 13:10:51 -05:00
Robb Matzke
f82fc6b33d [svn-r299] Changes since 19980224
----------------------

./html/Files.html
	Added a few details for some of the new H5Pset/get functions.

./src/H5F.c
./src/H5Fpublic.h
	Fixed automatic closing of files on exit().

	Added public H5F_ACC_DEBUG.  Using it to create or open a file
	turns on debugging for that file, which currently just prints
	cache statistics when the file is closed.

./src/H5G.c
	An error is returned if one tries to set the current working
	group to something other than a group.

./src/H5Gnode.c
	Fixed a symbol table bug.  Under certain circumstances it was
	possible to enter a symbol in such a way that lookup of that
	symbol failed. A bug report was sent to hdf5dev.

./src/H5P.c
./src/H5Ppublic.h
	Added the H5Pget_...() functions for file drivers.  The
	H5Pget_mpi() is a no-op that always fails.
1998-02-26 13:05:27 -05:00
Robb Matzke
ad73f18f5e [svn-r298] Changes since 19980219
----------------------

./html/Files.html
./src/H5C.c
./src/H5Cpublic.h
./src/H5Ffamily.c
./src/H5Fprivate.h
./src/H5Fsplit.c
./test/tstab.c
	Added file-access property functions.

	The split driver takes file extensions as properties.

./src/H5A.c
./src/H5Aprivate.h
	Added some comments. Changed H5A_destroy() to call the free
	function on all the atoms that are destroyed. This fixes a bug
	where the file boot block isn't updated if the file isn't
	closed before calling exit().

	Removed extra `*' and `&' from some places.

./src/H5AC.c
	Replaced an occurrence of NO_ADDR with NULL.

./src/H5Odtype.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
	Data types of compound members are pointers.

./H5private.h
	Some changes to make lseek64() work on Irix 5.3 where header
	files don't realize that `long long' works.

./acconfig.h
./configure.in
	Removed definition for PHDF5 since it looks like everyone is
	useing HAVE_PARALLEL now.

./configure.in
./src/H5detec.c
	Added checks for gethostname() and getpwuid().
1998-02-25 15:31:17 -05:00
Quincey Koziol
c543632ba5 [svn-r297] Switched templates to "property lists" and changed API prefix from H5C to H5P 1998-02-25 14:13:49 -05:00
Quincey Koziol
faa3f5739e [svn-r296] Switched prefix for dataspaces from H5P to H5S 1998-02-25 13:48:33 -05:00
Robb Matzke
1bcb5fd936 [svn-r294] Changes since 19980219
----------------------

./src/H5A.c
./src/H5C.c
	Objects are removed from the group when there reference count
	hits zero regardless of whether H5A knows how to free the
	object.

./src/debug.c
./test/tstab.c
	Changed a zero to H5C_DEFAULT.
1998-02-19 15:18:55 -05:00
Robb Matzke
b24130dcf0 [svn-r290] Changes since 19980206
----------------------

./configure.in
./src/H5Fprivate.h
./src/H5Fsec2.c
	We now detect and use lseek64() on systems that have it (e.g.,
	Irix64) and are able to generate >2GB files on Irix XFS file
	systems (and anything else that supports large files).  This
	change also removed some warning messages from the Irix `-64'
	compiler.

	> $ ls -l istore.h5
	> -rw-r--r--    1 matzke   meshtv   8605436856 Feb 17 14:03 istore.h5

./configure.in
./src/H5Fprivate.h
./src/H5Fstdio.h
	We now detect and use fseek64() on systems that have it (e.g.,
	Irix64) and are able to generate >2GB files on Irix XFS file
	systems (and anything else that supports large files).  This
	change also removed some warning messages from the Iris `-64'
	compiler.

./src/H5E.c
./src/H5Epublic.h
	Added the H5E_OVERFLOW error to signal file address overflow.

./src/H5Fpublic.h
./examples/h5_chunk_read.c
./examples/h5_compound.c
./examples/h5_extend_write.c
./examples/h5_group.c
./examples/h5_read.c
./examples/h5_write.c
./html/Datasets.html
./html/Files.html
./html/H5.api.html
./html/H5.intro.html
./html/H5.sample_code.html
./html/ph5example.c
./html/review1.html
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/phdf5.c
	Renamed file access constants to follow the naming scheme.
	Also changed the base names a little to be more accurate as to
	what they do.  The old names H5ACC_WRITE and H5ACC_OVERWRITE
	will temporarily work.

	     H5ACC_DEFAULT     --> H5F_ACC_RDONLY for H5Fopen()
	     H5ACC_DEFAULT     --> H5F_ACC_EXCL   for H5Fcreate()
	     H5ACC_WRITE       --> H5F_ACC_RDWR
	     H5ACC_OVERWRITE   --> H5F_ACC_TRUNC

	Albert or Kim: The H5ACC_INDEPENDENT and H5ACC_COLLECTIVE
	macros in H5Fpublic.h should be an enum typedef and have names
	more like H5F_MPIO_INDEPENDENT and H5F_MPIO_COLLECTIVE.  Also
	change the access_mode argument of H5Cset_mpio().

	H5Fcreate() and H5Fopen() are more strict now about which
	flags are acceptable for the operation.

./src/H5Fprivate.h
./src/H5F.c
./src/H5C.c
	Changed the file access template to make it more general.  A
	union contains a struct for each type of low-level driver and
	the default template is initialized at run-time.

./src/H5Fpublic.h
./src/H5F.c
	Added H5Fget_access_template() and cleaned up
	H5Fget_create_template().

./src/H5C.c
	The H5Cset_mpi() no longer trashes the file access template
	when an error is detected.  We check for errors and *then*
	update the file access template.

	Added H5C_close() so Albert and Kim have a place to release
	the MPI communicator and info from the file access property
	list.

	Kim or Albert: I notice in H5Cset_mpi() you copy the MPI
	communicator.  Do you need to do something similar in
	H5C_copy()?

./src/H5F.c
	Added more error checking for the file creation and access
	property lists because it used to be possible to make the
	library dump core by swapping the creation and access property
	list ID numbers of H5Fcreate().

./test/istore.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/testphdf5.c
	One must pass H5C_DEFAULT as the file creation or access
	property list in order to get the default property list.  It
	is no longer possible to pass zero or any other arbitrary bad
	object ID.

./src/H5Fcore.c
./src/H5Ffamly.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5MF.c
	The file access property list is passed to all H5F_low_...()
	functions and to the drivers.

./src/H5Fcore.c
	The block size can be set at run time on a per-file basis
	instead of at compile time across all files. The "5000 items in
	a group test" now takes 1.6 seconds.

./src/H5private.h
	Removed inclusion of mpi.h and mpio.h since they're included
	from H5public.h.

./src/H5Cpublic.h
./src/H5C.c
	Added H5Cset_stdio(), H5Cset_sec2(), H5Cset_core(),
	H5Cset_split(), and H5Cset_family() in addition to the
	H5Cset_mpio() that Kim and Albert already wrote.  We still
	need the H5Cget_driver() and an H5Cget...() counterpart for
	each of those functions.  The split and family drivers still
	need a little work but I'm checking this in anyway.
1998-02-19 13:19:48 -05:00
Quincey Koziol
33258c0073 [svn-r286] Changed release name from "hdf-5.0.0a" to "hdf5-1.0.0a" to explicitly make it
clear that this release is not [currently] compatible with the older HDF
releases.
1998-02-17 15:19:13 -05:00
Quincey Koziol
1002729644 [svn-r279] Changed return type of H5Fclose from 'int32' to 'herr_t' 1998-02-16 05:56:44 -05:00
Albert Cheng
edbd6152fd [svn-r268] Revised the comment block of H5Cset_mpi. Also fixed a small bug in
the same function in the call of MPI_Comm_dup.
1998-02-13 10:32:32 -05:00
Albert Cheng
1f339111ef [svn-r258] Problem:
When configure with enable-paralle, H5detect and debug were not
    compiled with $(LIBS) but were executed via RUNTEST (mpirun ...).
    The O2K mpirun can't handle such an object code.

Solutions:
    Compile them also with $(LIBS) which contains the mpi library names.
    Could have just removed $(RUNTEST) but in some parallel system, all
    object file may have to be launched by some mpirun-equivalent command
    anyway.

Platforms tested: O2K
1998-02-12 00:03:49 -05:00
Albert Cheng
9ab525f8a4 [svn-r257] H5F.c:
Added modification entry to H5F_open header.  Should have been done
    when i added the access template argument.

H5Fprivate.h:
    The hardcode setting to "define MPIO as the default IO
    when HAVE_PARALLEL is set" cause all test programs to fail since
    none of them is coded with the needed MPI_Initialize.  Change it
    back to the previous setting of using sequential I/O allows user
    to use sequential I/O by default and use MPIO only if he/she explicitely
    asks for it via access template setting.
1998-02-11 23:52:59 -05:00
Robb Matzke
4854aa28f7 [svn-r255] Added a teeny tiny little miniscule amount of support for strings because
the VB-API work stores comments in some of the VB tables.
1998-02-11 20:23:12 -05:00
Albert Cheng
84bd17dca3 [svn-r249] configure.in configure:
Changed default RUNTEST to 'mpi -np 1'.

src/Makefile.in:
Use $(RUNTEST) to run programs if enable-parallel is on.
1998-02-11 01:00:36 -05:00
Robb Matzke
b933610dde [svn-r240] Removed warnings on Irix64 1998-02-10 11:41:45 -05:00
Robert Kim Yates
ef4270b530 [svn-r234] Cleaned up conversion between MPIOffset and haddr_t in H5Fmpio.c.
In H5Fprivate.h made MPI-IO the default low-level I/O module when HAVE_PARALLEL.
1998-02-10 09:59:51 -05:00
Albert Cheng
2d17eb9165 [svn-r232] Problem: Parallel H5Fcreate failed if file doesnot exist. When the
file does not exist, the code tried to open the file with EXCL CREATE.
ROMIO cannot handle file-open with EXCL Create due to racing problem.
The first process creates the file which then fails all
other processes.

Solution: In the parallel code, turn on TRUNC mode to allow "late" open
calls to succeed too.  It is safe to force TRUNC mode since the file is
known non-existing at that point.  The MPIO implementation has to
provide the real solution.

Platform tested: O2K with ROMIO.
1998-02-10 00:15:42 -05:00
Albert Cheng
7e8e3eec42 [svn-r230] Changes were actually made by Robb. I am commiting them for him
while he is visiting LLNL.  I changed the default creation template
offset and length to 4.  Will fix the problem later.

Changes since 19980205
----------------------

./src/H5H.c
./src/H5Hprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Odspace.c
./src/H5Ostab.c
./src/debug.c
./html/H5.format.html
        Added an extra 4-byte field after the heap magic number for
        alignment on the DEC alpha. Changed object header message
        alignment to 8-bytes.

./src/H5F.c
./src/H5Farray.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5Gnode.c
./src/H5O.c
./src/H5Odtype.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5V.c
./src/H5detect.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/hyperslab.c
./test/istore.c
./test/th5p.c
./test/theap.c
        Fixed a few irix64 warnings regarding size_t vs. int,
        variables set but not used, printf formats

./config/irix64
        Added `-woff 1196' to get rid of errors about __vfork() being
        implicitly defined in a system header file.

./src/H5B.c
        Fixed a stack alignment problem.
1998-02-09 14:37:40 -05:00
Albert Cheng
238cccd5e8 [svn-r224] Initial implementation of the upper levels of PHDF5. The
MPIO lower interface layer (H5Fmpio.c) has been commited by Kim already.
All PHDF5 codes are "bracket'ed" by #ifdef HAVE_PARALLEL macro.
1998-02-05 22:00:35 -05:00
Albert Cheng
0e55445d79 [svn-r222] Problem: UINT64DECODE and INT64DECODE were not working because it did
not assign the decoded value back to n.

Solution: Removed temporary variable _n (don't see why it is needed.)
Use the variable n directly.

Platform tested: IRIX64 -64
1998-02-05 12:13:43 -05:00
Robert Kim Yates
34e8bb7d12 [svn-r221] In H5F_mpio_open, if truncation was requested, all processes must call
MPI_File_set_size (a collective operation).
Also changed/added some error messages.
1998-02-05 10:51:25 -05:00
Robb Matzke
92160353e3 [svn-r220] Changes since 19980204
----------------------

./src/H5H.c
	Changed a temporary buffer from 20 bytes to 52 bytes.

./test/tfile.c
	Default sizes for file addresses and sizes are the same as
	sizeof(size_t) on the machine that creates the file.
1998-02-05 08:52:15 -05:00
Robb Matzke
125f368560 [svn-r219] Changes since 19980204
----------------------

./src/H5Odtype.c
	Compound data type names weren't aligned correctly. Thanks to
	Elena for finding this bug.
1998-02-04 13:31:13 -05:00
Robb Matzke
a47ba809ea [svn-r218] ./src/H5F.c
The default file addr and size sizes for new files are the
	same as sizeof(size_t) on the machine that creates the
	file. They used to always be 4.

./src/H5Pprivate.h
./src/H5Psimp.c
	Fixed `start' and `nelmts' arguments to be `size_t'.
1998-02-04 10:14:29 -05:00
Quincey Koziol
3d5f479f87 [svn-r217] Fixed fence-post & memory copy errors in H5F_encode_length_unusual() 1998-02-04 09:56:06 -05:00
Quincey Koziol
71be4b3cca [svn-r216] Added (ifdef'ed out currently) support for creating scalar simple variables. 1998-02-04 09:55:12 -05:00
Albert Cheng
8212bc9499 [svn-r215] offset was declared intn when it actually dealed with pointer addresses.
Changed it to size_t type.
1998-02-03 22:07:04 -05:00
Robb Matzke
519b33c5b0 [svn-r214] Changes since 19980203
----------------------

./src/H5C.c
./src/H5Cprivate.h
./src/H5D.c
./src/H5Dpublic.h
	Added H5Dget_create_parms(), trying to stay one step ahead of
	Elena ;-)
1998-02-03 12:29:54 -05:00
Robb Matzke
137bc83f7a [svn-r213] Changes since 19980130
----------------------

./MANIFEST
	Added H5Fmpio.c.  One way to check that you've properly
	included new files is to run `./bin/release none', then unpack
	the resulting tar file somewhere and try to compile it.  The
	tar file will be ./releases/hdf-5.0.0a.tar.

./config/freebsd2.2.1
./config/linux
	Added `-ansi'

./acconfig.h
	Added definitions for PHDF5 and HAVE_PARALLEL.

./configure.in
	Added minimal support for parallel build.  Kim and Albert will
	have to flesh this out or I can do it if they're more specific
	about what they need.

./config/commence.in
	Added default value for $(RUNTEST)

./config/conclude.in
	`make test' uses value of $(RUNTEST) to run test cases.

./src/Makefile.in
	Added PARALLEL_SRC for conditional compilation of H5Fmpio.c

./src/H5D.c
./src/H5Dpublic.h
	Added H5Dget_type() for Elena


NOTE: These changes require that configure be rerun.  If you're using
      GNU make it will happen automatically, otherwise do it by
      hand.
1998-02-03 12:03:13 -05:00
Robert Kim Yates
6cbd672251 [svn-r212] Fixed H5F_mpio_read's handling of number of bytes read,
and removed MPI_Init and MPI_Finalize from H5.c
(these should be done in the user program).
1998-02-03 10:29:05 -05:00