Commit Graph

53 Commits

Author SHA1 Message Date
Dana Robinson
c58ca9e28b [svn-r30306] Updated vfd test to be better about fapls and h5_reset().
Prevents the test from segfaulting in other sub-tests
when a previous test fails.

Tested on: 64-bit Ubuntu Linux 16.04 LTS w/ gcc 5.4.0
           Autotools serial + direct VFD (vfd test only)
           Also tested with a forced error to ensure
           that the test no longer segfaults and 
           confirmed that all test files are cleaned up.
2016-08-19 11:30:05 -05:00
Dana Robinson
6d7ac8aa15 [svn-r30297] Changed FAIL_STACK_ERROR to TEST_ERROR in test/vfd.c.
Tested on: 64-bit Ubuntu Linux 16.04 LTS w/ gcc 5.4.0
           Autotools serial, vfd test only
2016-08-18 09:20:03 -05:00
Dana Robinson
c8f4641507 [svn-r30184] Converted h5_fileaccess() to H5Pcreate() in the sec2 test.
Tested on: 64-bit Ubuntu Linux 16.04 LTS w/ gcc 5.4.0
           Autotools serial, vfd test only w/ various VFDs
2016-07-14 08:55:50 -05:00
Dana Robinson
b2c8ac133c [svn-r30163] Changed a h5_fileaccess() call to H5Pcreate() in the core VFD test.
Since it only tests the core VFD, there's no need to get a
VFD-dependent fapl.

Tested on:

    64-bit Ubuntu Linux w/ gcc 5.3.1
    vfd test w/ all VFDs tested by make check-vfd
2016-07-09 01:43:11 -05:00
Dana Robinson
130f8135ca [svn-r30148] Expanded core VFD test in vfd.c. Minor tidying to sec2 VFD test also.
Tested on: 64-bit Ubuntu Linux w/ gcc 5.3.1
           Autotools serial
2016-07-05 20:40:31 -05:00
Quincey Koziol
1023374492 [svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.

    This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.

    Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros.  (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)

    Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/64 3.10.x (kituo) w/serial & parallel
    Linux/64 2.6.x (ostrich) w/serial
2015-09-13 22:58:59 -05:00
Dana Robinson
5ae7ad342d [svn-r24993] Purpose:
Adds write tracking to the core VFD, which can be configured
via the H5Pset/get_core_write_tracking() API call. When enabled
and writing to the backing store is enabled, this feature will
track writes and only write out the changed bytes on flush/close.

Tested on:
    32-bit LE linux (jam) w/ Fortran and C++
    64-bit BE linux (ostrich)
    64-bit Darwin 12.5.0 (kite)

All were tested using the core VFD w/ paging on (core_paged
in the VFD list). Make check-vfd was also tested on jam.
2014-04-08 22:35:16 -05:00
Quincey Koziol
a3e98d0e36 [svn-r23219] Description:
Bring reviewed changes from Coverity branch back to trunk (QK & JK):

r20457:
Coverity issue 691: return of H5duo could be negative. Fixed by using
STDOUT_FILENO and redesign parse_command_line and main to cleanup file
allocations. The output_file var is null when using stdout. In cleanup do not
close output_file if NULL.

r20510:
Initialize ufid = -1 and predicate HDclose call on ufid != -1

r20511:
Purpose: Fix coverity issue 1715

Description: Free "file" and nested data on failure in H5FD_core_open.

r20512:
Initialize ifid = -1 and predicate HDclose call on ifid != -1

r20514:
Initialize h5fid = -1 and predicate HDclose call on h5fid != -1

r20516:
Added else branch to the if (ret_value < 0) check.

r20522:
Addressed coverity issues 930-933, 850, 836, 835, 1307.  All minor 
potential buffer overwrite bugs, or coverity errors.  Fixed by replacing
strcpy and sprintf with strncpy and snprintf.

r20523:
fixed coverity issues 68, 1120, 1116i

r20524:
Check  H5Z_SZIP->encoder_present < 1 assuming 0 represents absence.

r20601:
Purpose: Fix coverity issues 1703-1705

Description: Modified the cleanup code in test_free in accum.c to reset
allocated buffers to NULL after they are freed, and modified the error cleanup
code to check if these buffers are NULL before freeing them.  Also fixed some
unrelated warnings in accum.c.

r20602:
Use HDsnprintf and HDstrncat

r20603:
Purpose: Fix coverity issues 808-809

Description: Modified test_core in vfd.c to check the returns from malloc, and
keep track of whether points and check are allocated by setting them to NULL
when they are not.  Added code to free points and check on error if they are
not NULL.  Also fixed unrelated warnings in vfd.c.

r20604:
Use HDstrncpy.

r20605:
Use HDstrncpy and HDstrncat.

r20606:
Purpose: Fix coverity issue 807

Description: Modified long_compact in stab.c to keep track of whether objname is
allocated by setting it to NULL when it is not.  Added code to free objname on
error if it is not NULL.

r20607:
Changed string function calls to use versions that specify the string length
to fix coverity issues 832 and 839.


Tested on:
    Mac OSX/64 10.8.2 (amazon)
    (Too minor to require h5committest)
2013-02-01 20:53:32 -05:00
Allen Byrne
eb5b8163f9 [svn-r22411] reduce compiler warnings by removing unreferenced variables and adding cast
Tested: local linux
2012-05-25 12:39:07 -05:00
Allen Byrne
2457d8ecaf [svn-r21366] JIRA HDFFV-2748 replace use of _WIN32 in source. Created new defines H5_HAVE_WIN32_API and H5_HAVE_VISUAL_STUDIO defines to use. These can be properly set during configurration.
Tested: windows and local linux - reviewed internally
2011-09-06 11:50:32 -05:00
Raymond Lu
4df63636e3 [svn-r21017] This is a follow-up checkin for r21015 (bug fix for Issue 2598). I added two minor changes: 1. put the output file for
vfd.c test in the list for cleanup in Makefile.am; 2. put the data file in the list in CMakeLists.txt.

Tested on jam - simple change.
2011-06-22 15:05:17 -05:00
Raymond Lu
f8f8bed0c2 [svn-r21015] Bug fix for Issue 2598 - In v1.6 library, there was EOA for the whole MULTI file saved in the
super block.  We took it out in v1.8 library because it's meaningless 
            for the MULTI file.  v1.8 library saves the EOA for the metadata file, 
            instead. But this caused some backward compatibility problem.
            v1.8 library couldn't open the file created with v1.6 library.  I 
            fixed the problem by checking the EOA value to detect the file
            created with v1.6 library. 

Tested on jam, koala, and heiwa.
2011-06-22 10:47:57 -05:00
Quincey Koziol
60bf7fddf1 [svn-r20551] Description:
Correct 'FILE **' back to 'FILE *' for H5Fget_vfd_handle call.

Tested on:
	FreeBSD/32 8.2 (loyalty) w/gcc 4.6 & debug
	FreeBSD/64 8.2 (freedom) w/gcc 4.6 & debug
	Solaris 2.6 (linew)
2011-04-19 06:34:51 -05:00
Dana Robinson
96a96fafaa [svn-r20548] Fixed bug in test/vfd.c (HDFFV-5936) that caused STDIO VFD test to fail on some platforms.
The problem was that the test was a clone of the SEC2 test.  The SEC2 test accepts a file descriptor (int) via a void pointer from H5Fget_vfd_handle() whereas the STDIO test needs to accept a FILE pointer.  Storing the FILE pointer in an integer failed on some systems.  The STDIO test now stores the file handle in FILE pointer and checks it for NULL instead of < 0.
2011-04-18 16:24:29 -05:00
Dana Robinson
b4f14a012e [svn-r20462] The basic STDIO VFD test in test/vfd.c fails on 64-bit Solaris 5.10 (SPARC) and 32-bit Darwin 10.7.0 (Intel). This check-in skips the STDIO test on all platforms while we investigate.
Bug report HDFFV-5936 filed in JIRA.
2011-04-10 16:05:57 -05:00
Dana Robinson
8a7973b011 [svn-r20459] Purpose:
Progress on bug 2138 (bugzilla) / HDFFV-4298 (JIRA)

Description:

- Added basic VFD tests (i.e. cloned the SEC2 test) for the Windows, STDIO and log VFDs.
- Added H5Pget_driver() sanity check to all VFD's tests.
- Added log output file to list of files to clean up in Makefile.am.

Tested on:

- h5committest script platforms (jam, amani, heiwa)
- Windows 7 (32- and 64-bit)
2011-04-08 16:31:31 -05:00
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:29:13 -05:00
Quincey Koziol
34d14bdf89 [svn-r17980] Description:
Bring Coverity changes into the trunk: (also other minor cleanups)

r17955:
Fix Coverity item 24.  Add missing error condition to
H5AC_ext_config_2_int_config.

r17956:
Fix Coverity item 24.  Improve error checking in H5A_compact_build_table_cb.

r17957:
Fix Coverity item 150.  Fix warning in H5A_compact_build_table_cb.

r17958:
Fix Coverity item 117.  Fix error handling in H5B_shared_new.

r17959:
Fix Coverity item 209.  Added an assertion for leaf->shared in
H5B2_cache_leaf_dest.

r17960:
Fix Coverity item 208.  Added an assertion for internal->shared in
H5B2_cache_internal_dest.

r17961:
Fix Coverity item 89.  Reworked the code to avoid array overrun in
H5C__autoadjust__ageout__insert_new_marker.

r17962:
Fix for coverity Resource_leak 195,203,204,205.

r17963:
Fix Coverity item 44.  Prevented potential NULL dereference in H5D_btree_debug.

r17964:
Fix Coverity issues #197, 198 & 199: memory not being released.  (Also
clean up other resource leaks in nearby and/or similar code).

r17965:
Fix Coverity issue #151: release resources on error

r17966:
Fix Coverity issue #187: Remove leftover code remnant from prior bugfix
which was causing resource leak of open files.

r17967:
Fixed Coverity issues # 193 & 194.  Removed unnecessary memory allocation and
added comparison of length of path parameter to the size of the destination
buffer in h5import.h/h5import.c.

r17968:
Fix Coverity item 144.  Fixed memory leak on error in H5D_chunk_copy.

r17969:
Fix for coverity Resource_leak #196.

r17970:
Coverity 167-173:
Initialized pointer of buffers.
In error handling, closed types and free memory.

Tested on:
    FreeBSD/32 6.3 (duty) in debug mode
    FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
    Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
        w/C++ & FORTRAN, w/threadsafe, in debug mode
    Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
        w/C++ & FORTRAN, in production mode
    Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
        w/szip filter, in production mode
    Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
    in production mode
    Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
    Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
    Mac OS X/32 10.6.2 (amazon) in debug mode
    Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2009-12-10 07:36:56 -05:00
Albert Cheng
db13a048a8 [svn-r17723] Bug fix:
The file failed to compiled in AIX which flags syntax error.
Fixed by making the statements more explicitly compare with NULL
and added a missing trailing semi-colon.

Tested:
Tested in AIX (Up at LLNL) only. The changes are trivial and should
be portable to all platforms.
2009-10-22 11:56:21 -05:00
Larry Knox
a99a73d20e [svn-r17688] Merge make local copy of svn test data files for write access from v1.8 to trunk.
Tested:
	amani, jam, linew (h5committest).
2009-10-20 10:08:56 -05:00
Raymond Lu
4e26920aaf [svn-r16779] A minor correction of previous checkin. The original files created with v1.6 library could
be deleted by cleanup routine.  I corrected it in this checkin.

Tested on jam - simple change.
2009-04-17 10:52:38 -05:00
Raymond Lu
04f71d5b13 [svn-r16759] The test of family file compatibility with v1.6 used the original family files under the
library source directory.  Since the test opens the files with write mode, it's safer to 
make copies of the original files.  I added the copying step in test_family_compat in vfd.c.
I changed the Makefile.am to clean up the copied files.  I created a new family_v16_00000.h5 
with v1.6 library.

Tested on jam - supposed to be simple change.
2009-04-15 16:42:02 -05:00
Raymond Lu
b03ffd19f4 [svn-r16612] I changed the API function H5Dopen to H5Dopen2, which I introduced in recent checkin.
Tested on jam - simple change.
2009-03-25 14:28:01 -05:00
Raymond Lu
ffd0fddad2 [svn-r16609] Bug fix (#1161): When a family file created with v1.6 library is opened and closed with
v1.8 library, v1.8 library writes the driver info block in the superblock.  But v1.6
doesn't write it.  This caused the data after the superblock to be overwritten.  The
solution is to use a flag to indicate when the original file doesn't have the driver
info, v1.8 library doesn't write it either.

Tested on jam.  I have some trouble to access smirom and linew using h5committest.
2009-03-24 17:06:07 -05:00
Quincey Koziol
9f60f016ab [svn-r15800] Description:
Bring file free space branch changes through r15795 into trunk, which
includes a fair bit of code cleanup & rearrangement along with a couple of
bug fixes also.

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-06 23:17:35 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

    foreach f (*.[ch] *.cpp)
        sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
    end

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    No need for h5committest, just whitespace changes...
2008-09-16 10:52:51 -05:00
Elena Pourmal
98fb2db938 [svn-r14340] Maintenance for VMS system:
Skip one of the tests in flush2.c since it looks like VMS system
		flsuhes the file anyway (like on Winodws with DLLs)

		Renamed files family*.h5 that are used in backward compatibility
		testing to have only one '.' in a file name, otherwise VMS system
		becomes confused and test fails.

		Cleaned up the only test (Fortran multi-file test) that is failing on 
		VMS (C counterpart passesa).

		Added new script to facilitate the build process on VMS
		Updated MANIFEST

PLatforms tested: VMS server, kagiso and linew (minor changes)
2007-12-13 13:17:02 -05:00
Quincey Koziol
0e06a92d0e [svn-r14218] Description:
Changed H5Acreate2 -> H5Acreate_by_name, to be more consistent with
other new API routines.

	Re-added simpler form of H5Acreate2, which creates attributes directly
on an object.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-30 13:13:48 -05:00
Quincey Koziol
8d0b1acf68 [svn-r14210] Description:
Enable the backward compatibility file format test for the family VFD
in all situations.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-18 12:47:43 -05:00
Quincey Koziol
d9e5ca72f3 [svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2

	Fix thread-safe error stack initialization for API versioned error
stack printing routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-11 11:24:11 -05:00
Quincey Koziol
16683943c6 [svn-r14193] Description:
Make H5Dopen versioned and change all internal usage to use H5Dopen2

	Add simple regression test for H5Dopen1

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 14:59:36 -05:00
Quincey Koziol
1de51c7bc1 [svn-r14187] Description:
Put H5Acreate() under API versioning, with all internal usage shifted
to H5Acreate2().

	Add regression tests for H5Acreate1().

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-04 17:19:07 -05:00
Quincey Koziol
579284f422 [svn-r14144] Description:
Move H5Gget_objinfo() to deprecated symbols section and retarget
internal usage to H5Lget_info()/H5Oget_info().

	Misc. other code cleanups...

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	AIX/32 5.3 (copper)
	Solaris/32 2.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-09-13 10:44:56 -05:00
Quincey Koziol
ea343ef854 [svn-r14115] Description:
Remove all plain calls to H5Gopen() from source, replacing them with
either H5Gopen2().

	Add test for H5Gopen1().

	Reformatted several pieces of code, to clean them up.

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-08-28 10:02:54 -05:00
Raymond Lu
3431f74c43 [svn-r13588] A support of files bigger than 2GB for STDIO driver. Configure will
check if fseeko is available.  Using it instead of fseek can support
big files because the offset is of type off_t not long int.  Also 
added the test for STDIO in big.c.
2007-04-04 14:59:00 -05:00
Raymond Lu
24fb6ed7c6 [svn-r13517] To deal with the situation that compiler supports direct I/O but file system doesn't, added a
condition check of writing aligned data.  Skip the test for direct VFD if it's this situation.
2007-03-15 16:17:09 -05:00
Raymond Lu
c8ba250a1e [svn-r13432] Changed the detection of alignment requirement for Direct I/O from configuration to run-time
detection in H5FD_direct_open in H5FDdirect.c.
2007-02-28 11:54:50 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Raymond Lu
aba265ce35 [svn-r13215] Added a comment. 2007-01-29 10:11:35 -05:00
Raymond Lu
77ce08c356 [svn-r13139] Fixed the MULTI problem (Bug #731) that corrupted the data. The problem
came from the EOA for the whole MULTI file.  It's taken out because it's
meaningless for MULTI file.  Instead, each individual file has its EOA.
2007-01-12 15:29:43 -05:00
Raymond Lu
ce7f9328b6 [svn-r13001] Enabled CORE file driver to read or write an existing file depending
the setting of backing store through H5Pset_core_fapl and file open
flag.  Added test cases in vfd.c.
2006-11-30 15:49:01 -05:00
Raymond Lu
8e0a4a03c0 [svn-r12870] Add a new macro H5_HAVE_DIRECT_ALIGN in configure.in. Some systems like copper and sleipnir
doesn't require alignment for Direct I/O.  If this's true, write or read data just like sec2
does.
2006-11-06 17:17:46 -05:00
Raymond Lu
c6c63ab6c6 [svn-r12822] H5Pset_alignment seems working. Added it in test/vfd.c and made the test more complete by writing
two data sets.  One is aligned, and the other isn't.
2006-10-28 16:11:04 -05:00
Raymond Lu
0f040c40f0 [svn-r12820] Added fragmental copy buffer to H5FD_direct_write. This buffer size is set through
H5Pset_fapl_direct.  It's been added to H5FD_direct_read in the previous checkin.  Still, a test is
needed at later checkin.
2006-10-26 21:41:19 -05:00
Raymond Lu
4d32eb160b [svn-r12776] The internal change is to make the 3 parameters of H5Pset_fapl_direct be a structure and passed
through driver info functions in H5FD_direct_open, H5FD_direct_read, and H5FD_direct_write.  The
external change is to add a new API function H5Pget_fapl_direct to query 3 control values, the
memory boundary, file system block size, and the maximal buffer size for copying data.
2006-10-18 15:20:32 -05:00
Raymond Lu
775bd09974 [svn-r12766] Made two changes to Direct I/O VFD: first added 3 parameters to H5Pset_fapl_direct to control
memory boundary, file block size, and maximal copy buffer size; second in H5FD_direct_write and
H5FD_direct_read, the library checks whether data buffer is aligned.  If it is, then write and 
read the data directly instead of making a copy buffer.
2006-10-16 17:31:27 -05:00
Raymond Lu
65d30cc9c3 [svn-r12739] Added Direct I/O driver to VFD. It's only supported by SGI Altix (cobalt). There's a configure
option --enable-direct-vfd/--disable-direct-vfd to enable/disable Direct I/O support.  The default
is enabled.  There's a small test in test/vfd.c.  Another way to test it is to set environment
variable HDF5_DRIVER to "direct" and run "make check" in the test/ directory.  There'll be some
further improvement in the following checkin including allowing user to provide memory boundary
value, file block size, and copying buffer size.
2006-10-10 15:07:16 -05:00
Quincey Koziol
a36a5b30d7 [svn-r12705] Description:
Fix file handle destroy routine to not attempt to flush out partially
initialized file handles (when opening a file fails).

Tested on:  (until they finished testing, this time... :-)
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/64 2.4 (mir) w/1.6 compat
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Mac OSX/32 10.4.8 (amazon)
2006-10-02 13:32:46 -05:00
Quincey Koziol
a1708eb023 [svn-r11712] Purpose:
New feature

Description:
    Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!

    This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release.  Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!


Solution:
    There's too many changes to really describe them all, but some of them
include:
    - Stop abusing the H5G_entry_t structure and split it into two separate
        structures for non-symbol table node use within the library: H5O_loc_t
        for object locations in a file and H5G_name_t to store the path to
        an opened object.  H5G_entry_t is now only used for storing symbol
        table entries on disk.

    - Retire H5G_namei() in favor of a more general mechanism for traversing
        group paths and issuing callbacks on objects located.  This gets us out
        of the business of hacking H5G_namei() for new features, generally.

    - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t

    - Lots more...

Platforms tested:
    h5committested and maybe another dozen configurations.... :-)
2005-11-14 21:55:39 -05:00
MuQun Yang
504fbbe27f [svn-r11562] Purpose:
Avoid bug for family file driver backward compatibility with 1.6.

Description:
Because there is no srcdir on windows, string pathname should be
initialized as NULL before using strcat.


Solution:
Changed the code as above.

Platforms tested:
too minor to test.

Misc. update:
2005-10-14 14:16:54 -05:00