Commit Graph

234 Commits

Author SHA1 Message Date
Quincey Koziol
aefc39ac32 [svn-r5667] Purpose:
Code cleanup

Description:
    Turn on more warnings in the IRIX builds and clean them up.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-19 07:54:53 -05:00
Quincey Koziol
64b7be4a52 [svn-r5662] Purpose:
Bug fix.

Description:
    The chunking code was using internal allocation routines to put blocks on
    a free list for reuse, instead of using the system allocation routines (ie.
    malloc, free, etc.).  This causes problems when user filters attempt to
    allocate/free chunks for their algorithm's use.

Solution:
    Switched the chunking code back to using the system allocation routines,
    we can address performance issues with them if it becomes a real problem.

Platforms tested:
    Linux 2.2.x (eirene) && IRIX64 6.5 (modi4)
2002-06-18 09:39:26 -05:00
Quincey Koziol
6b1208407f [svn-r5536] Purpose:
New feature.

Description:
    Added a "small data" block allocation mechanism to the library, similar to
    the mechanism used for allocating metadata currently.

    See the RFC for more details:
        http://hdf.ncsa.uiuc.edu/RFC/SmallData/SmallData.html

    This reduces the number of I/O operations which hit the disk for my test
    program from 19 to 15 (i.e. from 393 to 15, overall).

Platforms tested:
    Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
2002-06-05 10:23:20 -05:00
Quincey Koziol
d33f7d93a3 [svn-r5259] Purpose:
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)
2002-04-25 12:56:56 -05:00
Pedro Vicente Nunes
f368891ac8 [svn-r5168]
Purpose:
    H5Dset_extent API function
Description:

1 new public function: H5Dset_extent, that allows shrinking a dataset
several private functions that free the previously allocated chunks
H5F_istore_prune_by_extent, H5B_prune_by_extent : removes the chunks
H5F_istore_initialize_by_extent : initializes them with the fill value

H5S_select_fill is used to fill the selection in the memory buffer



Platforms tested:

    Windows 2000
    SUN( arabica)
    LINUX (eirene)
    IRIX64 (modi4)
2002-04-11 16:28:59 -05:00
Quincey Koziol
7e9738f290 [svn-r5096] Purpose:
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: ----------------------------------------------------------------------
2002-03-27 15:25:03 -05:00
Quincey Koziol
5e7ed206ea [svn-r4851] Purpose:
Bug Fix
Description:
    When file space was returned to the file space free-list for reuse,
    occasionally raw data allocations which used space from the free-list
    would overlap with the metadata accumulator and get over-written with
    the cached information in the accumulator, corrupting the data.
Solution:
    Check if the space about to be recycled on the free-list is going to be
    used for raw data and also overlaps with the metadata accumulator cache,
    avoiding using space that fits those criteria.

    This fixes bug #701

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-23 16:28:24 -05:00
Raymond Lu
d28fd08f4a [svn-r4696]
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
2001-12-11 14:53:44 -05:00
Quincey Koziol
33ed41455e [svn-r4695] Purpose:
Bug Fix

Description:
    The file metadata macros generate unaligned access warnings on the IA64
    architecture.

Solution:
    Got rid of bogus big-endian vs. little-endian differentiation when encoding
    and decoding file metadata and use proper set of macros to prevent unaligned
    access problems.

    This fixes bug #672.

Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-11 13:53:22 -05:00
Quincey Koziol
0001a13617 [svn-r4589] Purpose:
Code cleanup
Description:
    Clean up various compiler warnings from generic property updates.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-03 17:27:54 -05:00
Raymond Lu
33189bd39b [svn-r4573]
Purpose:
    Switch mount property list to the new generic property list.
Platforms tested:
    IRIX64 6.5, SunOS 5.7, FreeBSD.
2001-10-25 14:52:10 -05:00
Raymond Lu
b6da4ea427 [svn-r4569]
Purpose:
    Generic Property List Change
Description:
    Changed file access list to the new generic list.
Platforms tested:
    IRIX64, SunOS5.7, FreeBSD
2001-10-24 13:02:27 -05:00
Quincey Koziol
cdbb523b94 [svn-r4548] Purpose:
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)
2001-10-16 13:19:06 -05:00
Raymond Lu
fe76b00dc6 [svn-r4543]
Purpose:
    Changed the file creation property list to the new generic property list.
Platform tested:
    IRIX64, SunOS5.7, FreeBSD
2001-10-15 14:36:48 -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
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
Quincey Koziol
d41b9fffdf [svn-r4012] Purpose:
Clean up compiler warnings.
Description:
    Just code neatening mostly, some casts, etc.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-18 15:22:10 -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
Quincey Koziol
35bc545296 [svn-r3252] Purpose:
Code cleanup.
Description:
    Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the
    extra warnings.  Including a few show-stoppers for compression on IRIX
    machines.
Solution:
    Changed lots of variables' types to more sensible and consistent types,
    more range-checking, more variable typecasts, etc.
Platforms tested:
    FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
2001-01-09 16:22:30 -05:00
MuQun Yang
01840369e2 [svn-r3232]
Purpose:
    a bug fix
Description:
    Get rid of warning information for comments on windows(**/* */)
Solution:
     add a space between ** and /*. Now it is ** /*
Platforms tested:
    windows 2000
2001-01-03 18:36:30 -05:00
Quincey Koziol
057cbbf96c [svn-r2736] Purpose:
Code optimization
Description:
    Minor tweaks throughout the optimized regular hyperslab code to increase
    speed.  This set of improvements increase the benchmark time from taking
    ~5.46 seconds to ~4.50 seconds, or around a 20% further speedup.
Platforms tested:
    Solaris 2.6 (baldric)
2000-10-25 13:54:24 -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
4643449966 [svn-r2656] Purpose:
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...
2000-10-10 14:55:09 -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
Quincey Koziol
b53bfca418 [svn-r2611] Purpose:
Rearrange code
Description:
    The data sieve buffering code for contiguously stored datasets was
    wedged in the H5F_arr_read/H5F_arr_write routines.
Solution:
    Created a new H5Fcontig.c to hold I/O routines for contiguously stored
    datasets (like H5Fistore.c for chunked dataset I/O routines) and moved
    data sieving code into those routines.
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-28 14:12:43 -05:00
Quincey Koziol
183c8245af [svn-r2600] Purpose:
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)
2000-09-26 17:50:18 -05:00
Quincey Koziol
a3b9c876e1 [svn-r2496] Changed H5F_block_write prototype & added metadata allocation field to file
access property lists.
2000-08-31 14:26:42 -05:00
Quincey Koziol
ba8fbc02db [svn-r2165] Fixed last batch of problems when using free-lists on the SGI machines. They
should (hopefully) work on all platforms again now.
2000-04-20 11:36:38 -05:00
Quincey Koziol
2ec6fd667b [svn-r2151] Modified H5_term_library to not reported errors when 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.
2000-04-15 15:28:12 -05:00
Quincey Koziol
bb12f5d5d2 [svn-r2147] Corrected a few problems in the free-list code and added more assert() macros
to double-check things.  I've turned them back on again now.  I also changed
the internal representation of a few struct fields to be float instead of
double, since the HP/UX 10.20 compiler was having problems with the alignment
of the doubles.
2000-04-14 14:07:32 -05:00
Quincey Koziol
02e4ee5edf [svn-r2073] Added free-list code to the library and took out the older "temporary buffer"
code, since the functionality was superceded.  See the followup document for
details on the free-list code.
2000-04-04 16:00:31 -05:00
Raymond Lu
173c0b6fe5 [svn-r1925] DPSS is checked in. 1999-12-21 17:17:55 -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
Quincey Koziol
d5db5d6991 [svn-r1739] Cleaned up some warnings from the HP compiler. 1999-10-08 19:34:31 -05:00
Quincey Koziol
4d5186a245 [svn-r1689] Mainly adding support for "native" variable-length strings (C 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.
1999-09-28 19:30:21 -05:00
Robb Matzke
42d5453fe1 [svn-r1574] Changes since 19990817
----------------------

./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.
1999-08-18 13:28:06 -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
Robb Matzke
2681ce4a86 [svn-r1549] Changes since 19990728
----------------------

./src/H5B.c		[1.3]
./src/H5D.c		[1.3]
./src/H5F.c		[1.3]
./src/H5Farray.c	[1.3]
./src/H5Fcore.c		[1.3]
./src/H5Ffamily.c	[1.3]
./src/H5Fistore.c	[1.3]
./src/H5Flow.c		[1.3]
./src/H5Fmpio.c		[1.3]
./src/H5Fprivate.h	[1.3]
./src/H5Fsplit.c	[1.3]
./src/H5Fstdio.c	[1.3]
./src/H5G.c		[1.3]
./src/H5HG.c		[1.3]
./src/H5HL.c		[1.3]
./src/H5MF.c		[1.3]
./src/H5O.c		[1.3]
./src/H5Odtype.c	[1.3]
./src/H5Oefl.c		[1.3]
./src/H5P.c		[1.3]
./src/H5Smpio.c		[1.3]
./src/H5T.c		[1.3]
./src/H5detect.c	[1.3]
./tools/h5debug.c	[1.3]
	Some of the H5F_addr_* functions were optimized away.

./src/H5D.c		[1.3]
	Fixed the return values from NULL to FAIL on one MPI-IO
	function.
1999-07-28 14:37:35 -05:00
Robb Matzke
e4834c43ce [svn-r1548] Changes since 19990727
----------------------

./src/H5.c		[1.3]
./src/H5AC.c		[1.3]
./src/H5ACprivate.h	[1.3]
./src/H5B.c		[1.3]
./src/H5Bprivate.h	[1.3]
./src/H5D.c		[1.3]
./src/H5F.c		[1.3]
./src/H5Farray.c	[1.3]
./src/H5Fcore.c		[1.3]
./src/H5Ffamily.c	[1.3]
./src/H5Fistore.c	[1.3]
./src/H5Flow.c		[1.3]
./src/H5Fmpio.c		[1.3]
./src/H5Fprivate.h	[1.3]
./src/H5Fsec2.c		[1.3]
./src/H5Fsplit.c	[1.3]
./src/H5Fstdio.c	[1.3]
./src/H5G.c		[1.3]
./src/H5Gent.c		[1.3]
./src/H5Gnode.c		[1.3]
./src/H5Gprivate.h	[1.3]
./src/H5Gstab.c		[1.3]
./src/H5HG.c		[1.3]
./src/H5HGprivate.h	[1.3]
./src/H5HL.c		[1.3]
./src/H5HLprivate.h	[1.3]
./src/H5MF.c		[1.3]
./src/H5MFprivate.h	[1.3]
./src/H5O.c		[1.3]
./src/H5Oattr.c		[1.3]
./src/H5Ocont.c		[1.3]
./src/H5Odtype.c	[1.3]
./src/H5Oefl.c		[1.3]
./src/H5Olayout.c	[1.3]
./src/H5Oprivate.h	[1.3]
./src/H5Oshared.c	[1.3]
./src/H5Ostab.c		[1.3]
./src/H5P.c		[1.3]
./src/H5R.c		[1.3]
./src/H5Smpio.c		[1.3]
./src/H5T.c		[1.3]
./src/H5Tvlen.c		[1.3]
./src/H5private.h	[1.3]
./test/dtypes.c		[1.3]
./test/gheap.c		[1.3]
./test/istore.c		[1.3]
./test/lheap.c		[1.3]
./test/ohdr.c		[1.3]
./tools/h5debug.c	[1.3]
	File addresses (the `haddr_t' type) are passed by value
	instead of by reference. The type is no longer a struct. This
	is one of the preliminary changes needed for the Virtual File
	Layer stuff.

./src/H5Fprivate.h	[1.3]
./src/H5Flow.c		[1.3]
	Some address functions were rewritten as macros.
1999-07-28 13:25:43 -05:00
Quincey Koziol
650e29cff6 [svn-r1418] Modified H5Tconvert to require a dataset transfer property list ID as the
final parameter (so that VL datatypes have a way to pass in the custom memory
allocation routines).
    Fixed a conversion bug when VL fields were part of a compound datatype that
was causing the no-op conversion routine to be used instead of the vlen routine.
    Added the H5Pset_vlen_mem_manager and H5Pget_vlen_mem_manager routines to
allow users to provide their own custom memory allocation routines for VL data
read in from the file and reclaimed with H5Dvlen_reclaim.
    Finished coding on H5Dvlen_reclaim so it works now.
1999-07-03 05:31:26 -05:00
Robb Matzke
e352d29757 [svn-r1292] Changes since 19990430
----------------------

Remove changes from CVS

./bin/release
	Added a `--nocheck' switch which causes the script to not
	check the contents of the MANIFEST file against CVS. This is
	sometimes useful when you need to make a quick snapshot but
	the MANIFEST file is not quite up to date.

./src/H5D.c
	Removed warnings for unused variables

./src/H5Fprivate.h
	Removed the WIN32 definition for `uint' and changed the data
	type for `eof_written' from `uint' to `uintn'. Shouldn't this
	really be `hbool_t'?

./src/H5Odtype.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./test/dtypes.c
./doc/html/H5.format.html
	Added support for bitfields and opaque data types.
1999-06-02 08:59:35 -05:00
Patrick Lu
5992a71fe0 [svn-r1291]
added a typedef for windows.  uint is UINT on windows.
1999-06-01 11:33:59 -05:00
Albert Cheng
9282a3e357 [svn-r1276] H5D.c:
H5F.c:
H5Flow.c:
H5Fprivate.h:
    Joined work by Quincey, Robb and me to eliminate the initial writes
    of BOOTBLOCK when the file is first created.  Also, eliminate the
    repeatedly encoding of BOOTBLOCK in the flushing code.  Introduced
    the eof_written flag to indicate when it is not necessary to go
    do a dumb write at eof.
    (But something is not right if the userblock is not zero.)

H5Fmpio.c:
    Added code to allow setting the MPIO debug output mask via
    the environment variable H5F_mpio_Debug.
1999-05-25 12:31:51 -05:00
Robb Matzke
cc2184b6ef [svn-r1240] Changes since 19990427
----------------------

./tools/h5ls.c
	Added a `--address' (`-a') switch which causes h5ls to display
	file addresses for raw data. For contiguous datasets it's just
	a nice simple number, but for chunked datasets it's a list of
	logical dataset coordinates, file addresses, filter masks, and
	storage sizes.

	Changed `--dump' switch to `--data'.

./src/H5D.c
./src/H5F.c
./src/H5Fprivate.h
	Enhanced the indexed-storage B-tree iterator so it can dump
	raw data addresses (and other info) to the standard error
	stream.

	Added H5Ddebug() so h5ls has a way to dump addresses for
	datasets. I'm not sure what else this API function should do,
	so I think we should discuss it before we document it. So far,
	h5ls is the only thing that uses it, and we can easily change
	that.

./src/H5Tconv.c
./test/dtypes.c
	Finally had a chance to verify Paul's H5T_conv_s_s (general
	string to string conversions) bug fixes and incorporate them
	into H5T_conv_f_f (general floating-point to floating-point
	conversions) and H5T_conv_i_i (general integer to integer
	conversons). Thanks Paul.

./src/H5D.c
./src/H5S.c
./src/H5Sprivate.h
	Added performance timers around data space read and write
	callbacks. They were already there for the gather/scatter
	callbacks.

	The timings for read/write callbacks are displayed along with
	gather/scatter when data space debugging is turned on.

./bin/iostats
	Updated to print totals. Added a `--fast' option that doesn't
	do any output except the totals and is much faster.

./bin/trace
	Changed __unused__ to UNUSED to match source code.

./config/gnu-flags
	Updated error message for pgcc. I've sent bug reports to the
	pgcc people but the new version still has the same bug.

./configure.in
./config/conclude.in
./config/depend.in
	Fixed dependencies for non-GNU makes when run in a directory
	other than the hdf5 source tree.

	Updated GNU `make dep' rules to copy the distributed
	dependencies for non-GNU makes into the source tree when run
	in some other directory.
1999-04-30 10:54:52 -05:00
Patrick Lu
18d325e35f [svn-r1237] removed the path member in the search struct. replaced it with a fileindex
hi and lo.  this number and the dev id will allow us to determine if the
file is currently open on NT
1999-04-29 12:44:36 -05:00
Robb Matzke
e987b73f58 [svn-r1216] Changes since 19990423
----------------------

./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5Farray.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
        Changed H5F_block_read/write() to take a file transfer
        property list instead of just a parallel I/O mode. This will
        allow us to pass additional parameters to the I/O functions
        without having so many arguments to worry about.

        This fixes a bug I introduced last Friday for parallel HDF5

./src/H5B.c
        Fixed decoding of B-tree keys when iterating through the
        leaves of the B-tree. This fixes a bug for applications that are
        adding new entries to groups and also listing the groups.
1999-04-26 08:33:38 -05:00
Robb Matzke
d534a4dd0d [svn-r1204] Changes since 19990415
----------------------

./config/depend.in
	Fixed automatic dependencies. We were storing dependencies for
	*.o files instead of *.lo files after shared libraries were
	added.

./config/gnu-flags
./config/linux-gnulibc1
	Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from
	the linux file to this file and caused it to depend on the CPU
	name.  This fixes one of Elena's bugs.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5P.c
./src/H5RA.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./src/H5Tpublic.h
./test/istore.c
	Added an H5Dget_storage_size() function that reports the
	amount of storage allocated for raw data in a dataset.

	Changed H5D_xfer_* to H5F_xfer_* because these properties are
	more general than datasets. This also allows some of the
	lower-level I/O functions to get this information easier.

./src/H5S.c
./src/H5Sall.c
	Added two new functions H5S_all_read() and H5S_all_write()
	which are optimizations that copy data directly between file
	and memory without having to go through the scatter gather
	step.  This knocks quite a bit of time off the I/O and
	reading/writing entire datasets is a fairly common operation.

./tools/h5ls.c
	Reports the logical size of data, the allocated size of data,
	and the percent utilization.

./MANIFEST
	Removed old pablo files, added new files. Snapshots should now
	start to work again.

./src/H5D.c
./src/H5Fmpio.c
	Removed two warnings signed vs. unsigned comparisons and check
	for overflow.
1999-04-23 07:31:21 -05:00
Robb Matzke
f003dead4d [svn-r1169] ./configure.in
./configure		[REGENERATED]
./src/H5D.c
./src/H5O.c
	Removed H5AC, H5B, and H5T from the default list of packages
	to debug (because they're pretty expensive debugging), and
	added H5O. Also fixed a bug for undefined variable in H5D when
	H5S debugging is turned on but H5T debugging is turned off.

./config/conclude.in
	Fixed installation of header files for building in a directory
	other than the source directory. This fixes a bug where
	H5config.h wasn't being installed.

./src/H5.c
./src/H5A.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5I.c
./src/H5Iprivate.h
./src/H5P.c
./src/H5R.c
./src/H5RA.c
./src/H5S.c
./src/H5T.c
./src/H5TB.c
./src/H5Tprivate.h
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
	Changed the way the library shuts down again. Now it handles
	cycles between packages and isn't so sensitive to dependencies
	between packages. A package might shut down only to be
	restarted to process a request from some other package being
	shut down.  Loops are detected after 100 iteractions and the
	shutdown is aborted with a message on standard error.  This
	also makes it a lot easier to debug.

./src/H5A.c
	Fixed H5A_write() and H5A_read() so they pass a non-null
	background buffer to the conversion functions. This is
	necessary when an attribute has a compound data type.

./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
	Reindented new Win32 stuff.

./src/H5Odtype.c
	Fixed a bug when enumeration types are used in a compound data
	type. The byte pointer wasn't incremented after the type
	information was written.

./tools/h5ls.c
	Compound data types display their total size because it's not
	always obvious from looking at the members.

	Scalar attributes show their space as `scalar' instead of
	`{}'.

	The index value is not printed for attributes that have only a
	few values. Instead the word `Data:' is printed on the first
	line of attribute data.

	Named types display their data type only if verbose output was
	requested.
1999-03-30 06:38:34 -05:00
Patrick Lu
019daa1b2e [svn-r1155]
added a new member to the H5F_search_t struct to store the path name
we needed this to be able to tell if a file is already open since NT does not
use the inode.
1999-03-22 12:48:18 -05:00