3426 Commits

Author SHA1 Message Date
Scott Wegner
5e7acfed72 [svn-r13873] Purpose: Code cleanup
Description:
Changed a macro in H5FDwindows.c from IO_BUF_SIZE to a more specific WINDOWS_MAX_BUF, and moved it to our H5pubconf.h, where users can customize it to their own preference.  

This value is needed because of a bug in the Windows _write function, it is unsafe to write buffers larger than 2GB-1 bytes in one write.

Tested:
VS2005 on WinXP.
2007-06-18 13:19:56 -05:00
Scott Wegner
4d9397a101 [svn-r13872] WinXP x64 does not define the error code EWOULDBLOCK, but instead uses its own WSAEWOULDBLOCK. Although the stream vfd isn't supported on Windows, this was requested by a user via bug #890. This won't affect any other platforms, but should help, should we ever decide to support stream vfd on Windows.
Tested:
kagiso, linew, smirom (via h5committest)
NOT tested on Windows, as it is unsupported.
2007-06-18 12:11:56 -05:00
Quincey Koziol
40160d4d74 [svn-r13870] Description:
Fix writing variable-length datatype fill values for contiguous dataset
storage

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-06-15 12:52:25 -05:00
Scott Wegner
b2cf486a02 [svn-r13866] Updated the open command to add the _O_BINARY flag, which Windows needs for reading and seeking.
Tested:
VS.NET and VS2005 on WinXP 32-bit and x64
2007-06-14 13:50:54 -05:00
Mike McGreevy
9238d327a3 [svn-r13865] Purpose: Adding a new macro, H5_HAVE_OFFSETOF.
Description: When the compiler has the __offsetof__ extension, the
             H5_HAVE_OFFSETOF macro will be defined. When the compiler
             does not have the extension, the macro will remain undefined.

Tested: kagiso
2007-06-14 09:18:46 -05:00
Scott Wegner
61952803b3 [svn-r13862] Although still not completely ready, this fixes many problems in the new Windows file driver related to writing large buffers (4GB+). sec2 is still set as the default driver on Windows.
Tested:
.NET on WinXP and 2005 on WinXP x64
2007-06-13 15:59:38 -05:00
MuQun Yang
765da09bad [svn-r13856] H5FDwindows.h is included in the hdf5.h but we didn't put it into Makefile.am un
der /src. So when gmake check-install is run for HDF5 examples, it will fail. Th
e fix is to include a macro #ifdef H5_HAVE_WINDOW around #include H5FDwindows.h 
so that H5FDwindows.h will only be included on windows, not on other platforms.

We've fixed with the same way for other source code that includes H5FDwindows.h.

This has been tested with h5committest. However, it takes a few hours to test all tests and except kagiso. Tests on linew and smirom cannot finish. It takes forever for the fheap test. 

And for parallel test at kagiso, ph5diff test seems to be hanged. I think all of our changes will only affect windows. So in order not to block other developers to check in their code, we just go ahead to check our changes. 

Kent Yang
2007-06-12 16:20:13 -05:00
Scott Wegner
3045853b76 [svn-r13852] Added includes in various places to make it possible to set windows as the default vfd. Although sec2 is still default on Windows, it should now be possible to switch by simply changing H5pubconf.h .
Tested:
.NET 2003 on WinXP
2007-06-11 17:27:07 -05:00
Quincey Koziol
d3a0386d36 [svn-r13850] Description:
Hook "default VFD" configure macros into library.

	Also, make "default VFD" default to sec2 instead of nothing.

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Mac OS X/32 10.4.9 (amazon)
2007-06-11 13:51:20 -05:00
Mike McGreevy
b442ea5e78 [svn-r13849] Purpose: adding a --with-default-vfd= flag to configuration.
Description:   this flag will define the macro H5_DEFAULT_VFD in src/pubconf.h
               and set it to be either H5FD_SEC2 or H5FD_STDIO, depending on the
               value set with the configuration flag (either sec2 or stdio).

Tested:        kagiso, smirom, linew
2007-06-11 08:35:43 -05:00
Mike McGreevy
9d5336acb2 [svn-r13846] Purpose: To remove changes from version #13839 (regarding DEFAULT_VFD).
Description: Changes made during this checkin need to be greatly
             modified, so I'm removing them now rather than leaving them
             in and fixing them later.
2007-06-08 08:12:13 -05:00
Quincey Koziol
15dbc76104 [svn-r13842] Description:
Fix compact dataset storage to initialize VL datatype fill values
correctly.

	Also, fix bug in global heap code when the fix action on a global
heap is to delete an object in a heap with no free space.

Tested on:
	Mac OS X/32 10.4.9 (amazon)
	FreeBSD/32 6.2 (duty)
2007-06-07 22:06:56 -05:00
Quincey Koziol
ccea4bb7b5 [svn-r13841] Description:
Add a little more information to the debugging routine, for VL datatypes.

    Minor code cleanups

Tested on:
    Mac OS X/32 10.4.9 (duty)
    Too minor to require h5committest
2007-06-07 22:04:42 -05:00
Mike McGreevy
58c565aee7 [svn-r13839] Purpose: creation of a DEFAULT_VFD macro in the test/Makefile.
Description:   a new configure flag has been created that will now set a macro
               in the test/Makefile. The flag is with-default-vfd=. When set to
               a virtual file driver (e.g. "--with-default-vfd=sec2"), the macro
               DEFAULT_VFD will hold this value.

Tested:        kagiso, smirom, linew
2007-06-07 16:42:40 -05:00
Quincey Koziol
c80b774013 [svn-r13836] Description:
Minor code cleanups

Tested on:
	Mac OS X/32 10.4.9 (amazon)
2007-06-05 12:51:06 -05:00
Raymond Lu
1280f90f81 [svn-r13829] Some systems (only SGI Altix ProPack 4 discovered so far) doesn't return correct
file size from MPI_File_get_size.  Bypass this problem by replacing it with
stat.  Add an option --disable-mpi-size in configure to indicate this function
doesn't work properly.  Add a test in testpar/t_mpi.c, too.  If it returns wrong
file size, print out a warning.

Tested on kagiso (parallel) because already tested the same change to v1.6 on 
several platforms (kagiso, cobalt, copper, and sol).
2007-06-02 13:19:36 -05:00
Quincey Koziol
2aa1084117 [svn-r13827] Description:
Close another memory leak for VL fill values, and clean up some
temporary data structures on error.

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.9 (amazon)
2007-05-31 21:49:13 -05:00
Quincey Koziol
5279ef2f48 [svn-r13825] Description:
Incremental step forward in fixing problems with fill values that have 
a variable-length daattype.  This set of changes fixes problems with the copying
the property list values.

tested Tn:
	Mac OS X/32  10.4.9 (amazon)
2007-05-31 15:33:19 -05:00
Quincey Koziol
401856703b [svn-r13823] Description:
Minor code cleanup to reduce initialization overhead.

Tested on:
        Mac OS X/32 10.4.9 (amazon)
2007-05-31 12:55:35 -05:00
Quincey Koziol
40ced14dbb [svn-r13822] Description:
Undef the "post copy file" macro for "new style" fill values before
defining it again.

Tested on:
	FreeBSD/32 6.2 (duty) w/gcc 4.2
2007-05-31 04:27:54 -05:00
Peter Cao
461b896779 [svn-r13821]
Fixed a bug at copying shared reg_ref attribute. The ref values of an attribute
was not writen in file. The post_copy_file() at H5Oattr.c only updates the value
in memory. 

To fix the problem, we added H5O_shared_post_copy_file(), which delete the attribute
in file (with the incorrect value) and create an new attribute with the correct values.


I added the following functions:
H5Oshared.c:H5O_shared_post_copy_file(H5F_t *f, hid_t dxpl_id, H5O_t *oh, void *mesg); 
H5Oshared.h: H5O_SHARED_POST_COPY_FILE

and modified the following files to include shared_post_copy_file()
H5Oattr.c
H5Odtype.c
H5Ofill.c
H5Opline.c
H5Osdspace.c
2007-05-30 16:35:57 -05:00
Quincey Koziol
0c12241059 [svn-r13816] Description:
Fix a few typos and a small memory leak.

Tested on:
	FreeBSD/32 6.2 (duty)
	Linux/64 2.6 (chicago2)
2007-05-29 15:30:41 -05:00
Quincey Koziol
b73e0ae8e7 [svn-r13815] Description:
Regenerate configuration files after latest checkin
2007-05-29 15:06:49 -05:00
Quincey Koziol
bdcbada3f2 [svn-r13814] Description:
Change back to clearing memory buffers by default, but give users option
to disable this, for performance reasons (--disable-clear-file-buffers).

    Also, add configure option (--enable-using-memchecker) to conveniently
control making the library "play nice" with memory checking tools like valgrind
and purify.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    Linux/32 2.6 (kagiso)
2007-05-29 15:02:34 -05:00
Quincey Koziol
7b0fa3950e [svn-r13811] Description:
Update information printed when the file module's debugging is enabled
and file memory is leaked.

Tested on:
    Linux/32 2.6 (chicago)
2007-05-29 13:57:55 -05:00
Quincey Koziol
fa133cfb95 [svn-r13808] Description:
Fix possible file corruption when using "new" format object headers and the
size of chunk #0 for an object header transitions between needing 1->2->4->8-
byte encoding for the size and there are "clean" messages in the object header
already.  (Usually triggered by flushing the file while adding attributes to
an object)

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-05-24 13:36:53 -05:00
Quincey Koziol
415889bef3 [svn-r13807] Description:
Fix error which attempted to allocate space for attribute that has a
'null' dataspace.

Tested on:
	Mac OS X/32 10.4.9 (amazon)
	FreeBSD/32 6.2 (duty)
	Linux/32 2.6 (chicago)
	Linux/64 2.6 (chicago2)
2007-05-24 09:31:51 -05:00
Quincey Koziol
c2d3d0a005 [svn-r13806] Description:
Correct prototype for H5Sextent_equal()

Tested on:
	Mac OS X/32 10.4.9 (amazon)
	FreeBSD/32 6.2 (duty)
	Linux/32 2.6 (chicago)
	Linux/64 2.6 (chicago2)
2007-05-24 09:27:04 -05:00
Raymond Lu
b08afe35a4 [svn-r13803] Optimization of reading compound data.
Optimize a special case when the source members are a subset of
destination, and the order is the same, and no conversion is needed.
For example:
     struct source {            struct destination {
         TYPE1 A;      -->          TYPE1 A;
         TYPE2 B;      -->          TYPE2 B;
         TYPE3 C;      -->          TYPE3 C;
     };                             TYPE4 D;
                                    TYPE5 E;
                                };
The optimization is simply moving data to the appropriate
places in the buffer.  This optimization work is for the Chicago company.

Tested on sol, copper, smirom, liberty.
2007-05-23 17:43:03 -05:00
Quincey Koziol
03abf3cafe [svn-r13798] Description:
Clean up compiler warnings

Tested on:
    Mac OS X/32 10.4.9 (amazon)
2007-05-22 21:18:10 -05:00
Quincey Koziol
1e2ff005ab [svn-r13797] Description:
Re-enable fast attribute comparisons "in place" in the fractal heap.

Tested on:
    FreeBSD/32 6.2 (duty)
    Mac OS X/32 10.4.9 (amazon)
2007-05-22 21:17:42 -05:00
Quincey Koziol
c04a55d65e [svn-r13796] Description:
Clean up ISOHM code further and get rid of several non-optimal ways
of working with object headers.

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.9 (amazon)
2007-05-22 21:16:41 -05:00
Quincey Koziol
2232cf942d [svn-r13794] Description:
Add 'const' to some pointers in internal routines.

Tested on:
    Linux/32 2.6 (chicago)
2007-05-22 15:27:33 -05:00
Pedro Vicente Nunes
987146cc8e [svn-r13793]
Clean temporary test files

Tested: linux, SunOS

Note: the files outside tools were generated by bin/reconfigure
2007-05-22 14:35:24 -05:00
Quincey Koziol
668d8d5aa3 [svn-r13784] Description:
Close memory leak in error situation for opening a dataset.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-05-22 10:09:31 -05:00
Quincey Koziol
71befdadcf [svn-r13774] Description:
Fix memory leak of attribute's group hier. path

	Reduce compiler warnings w/gcc 4.2

Tested on:
	FreeBSD/32 6.2 (duty)
2007-05-20 00:49:31 -05:00
Quincey Koziol
0fcfcf0fa4 [svn-r13773] Description:
Reduce compiler warnings w/gcc 4.2

Tested on:
	FreeBSD/32 6.2 (duty) w/gcc 4.2
2007-05-20 00:48:09 -05:00
Quincey Koziol
15bc329ddb [svn-r13772] Description:
Reduce compiler warnings when free list manager is disabled.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-05-20 00:47:22 -05:00
Quincey Koziol
3c394783e7 [svn-r13771] Description:
Fix some more unitialized variables that were flagged by valgrind.

Tested on:
	FreeBSD/32 6.2 (duty) w/valgrind
2007-05-19 00:37:00 -05:00
Quincey Koziol
52d71bcd6f [svn-r13770] Description:
Clean up various memory leaks, etc.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-05-18 23:58:59 -05:00
Quincey Koziol
eff3014d97 [svn-r13769] Description:
Clean up minor compiler warnings

Tested on:
	FreeBSD/32 6.2 (duty)
2007-05-18 23:58:25 -05:00
Scott Wegner
87a41d4286 [svn-r13766] In Visual Studio 2005 for 64-bit, _WIN32 is defined, but not WIN32, so I've standardized all #ifdef's to use _WIN32. This should not affect any other platform.
Tested:
Visual Studio (32- and 64-bit) on Win XP
2007-05-18 10:14:43 -05:00
Quincey Koziol
1e69c2b1f1 [svn-r13758] Description:
Change "long long" to "long_long", to make VS6 happy.

Tested on:
	None, just eyeballed since it's easy
2007-05-16 13:23:17 -05:00
Elena Pourmal
c0d407a481 [svn-r13754] VMS port:
Updated command files; added "extern "C"" for HDremove_all function.

Platforms tested:

VMS server; kagiso - very minor and affects only VMS
2007-05-15 17:14:10 -05:00
Quincey Koziol
31ff357f31 [svn-r13753] Description:
Check in "unique, but sharable" optimization to ISOHM code, which
allows object header messages that are only used in one object to remain in
the sole user's header, but migrates messages that are used in more than one
header into the ISOHM heap.

Tested on:
	Mac OS X/32 10.4.9 (amazon)
	FreeBSD/32 6.2 (duty)
	Linux/32 2.6 (chicago)
	Linux/64 2.6 (chicago2)
2007-05-14 15:24:08 -05:00
Quincey Koziol
f0f73065e3 [svn-r13751] Description:
Reduce the number of warnings when free lists are disabled.

Tested on:
	Mac OS X /32 10.4.9 (amazon)
	Linux/32 2.6 (chicago)
	Linux/64 2.6 (chicago2)
2007-05-14 11:10:15 -05:00
Quincey Koziol
d16a803257 [svn-r13750] Description:
Various minor cleanups found while working on the "unique, but sharable"
ISOHM changes.

Tested on:
	Mac OS X/32 10.4.9 (amazon)
	FreeBSD/32 6.2 (duty)
2007-05-13 23:05:28 -05:00
Quincey Koziol
00a50871bb [svn-r13747] Description:
Fix H5O_msg_iterate() and H5O_link() to protect cache entries with
better permissions.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
2007-05-10 18:25:58 -05:00
Quincey Koziol
670d598ff7 [svn-r13745] Description:
Take further advantage of the readers/writer locking in the metadata cache
and push the locking of the local heap up to the routines which call B-tree
routines, which should drastically lower the number of metadata cache protect/
unprotect calls.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-05-10 15:35:35 -05:00
Quincey Koziol
c751cdab33 [svn-r13744] Description:
Initial changes to take advantage of readers/writer locking on metadata
cache entries.  Reduce the # of protect/unprotect pairs during B-tree iteration
by holding reader lock on B-tree and symbol table nodes while iteration occurs.

    This also has the benefit of preventing an iteration callback from
modifying the B-tree being iterated over (which would probably confuse the
B-tree iteration code terribly)

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-05-10 10:31:34 -05:00