summaryrefslogtreecommitdiffstats
path: root/src/H5FPprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r8391] Purpose:John Mainzer2004-04-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checkpoint checkin of FP bug fixes. FP is still quite buggy, but I must go deal with other matters. Description: Fixed two major bugs: 1) H5FPserver.c was clobbering meta data in its care. 2) H5FPserver.c was allocating the same space multiple times, causing both data and meta data corruption. Also made minor fixes, added debugging code, and familiarized myself with the FP code. All development work with FP enabled was done on Eirene. On this platform, FP now passes its test reliably with up to 9 processes. At 10 processes it seg faults every time. I haven't looked into this issue. There are also several known locking bugs which have to be fixed. However, they are of sufficiently low probability that I didn't bother with them on this pass. FP has not been tested with deletions -- this should be done. Also, need to test FP chunked I/O. Solution: 1) Modified cache in H5FPserver.c to merge changes correctly. Found and fixed a bug in H5TB.c in passing. 2) Multiple space allocation was caused by a race condition with set eoa requests. Most of these eoa requests appeared to be superfluous, so I deleted them. Those issued during the superblock read seemed necessary, so I inserted a barrier at the end of the superblock read, to prevent races with allocations. Platforms tested: h5committested
* [svn-r7993] Purpose:Quincey Koziol2003-12-291-1/+1
| | | | | | | | | | | | Code cleanup, bug fixes Description: Wrap up rest of changes necessary for fixing the "short" MPI-I/O read problem that Robb reported. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7805] Purpose:Bill Wendling2003-10-311-0/+22
| | | | | | | | | | | | | | | | | | | | Bug Fix Description: The End of Address information needed to be kept by the SAP. Some processes were trying to get the EOA information in collective mode, but the action wasn't collective at the time. Solution: Keep the EOA information for the file on the SAP. Clients query the SAP to get/set it when needed. Platforms tested: Linux (w/ FPHDF5) Copper (w/o FPHDF5) (FPHDF5 specific, so no need for full testing) Misc. update:
* [svn-r7494] Purpose:Quincey Koziol2003-09-191-0/+13
| | | | | | | | | | | | | | | | | | Bug fix Description: Buffer for decoding superblock's driver information was too small when using some VFDs (like the multi-file VFD). Also made FPH5 code more portable and obvious when it's broadcasting the superblock from the captain process to the other clients. Solution: Allocate the buffer for the driver information dynamicly Platforms tested: Copper No h5committest because it's already working on other platforms.
* [svn-r7460] Purpose:Bill Wendling2003-09-101-3/+3
| | | | | | | | | | | | | | | Update Description: Added extra parameter to the H5AC_protect() function that indicates if the cache being asked for is going to be written to or just read from. Those AC_protect calls that were H5AC_find calls are now read-only. The rest are writes. Platforms tested: Linux (h5committest not needed due to size and small impact) Misc. update:
* [svn-r7367] Purpose:Bill Wendling2003-08-151-8/+10
| | | | | | | | | | | | | | | | | | | Update Description: Added an extra flag to the clear functions that triggers a "destroy" of the object being cleared if necessary. This is a fix for the FPHDF5 stuff which had an object sticking around after it was cleared. (In FPHDF5, some processes are in charge of destroying the object, but all processes might actually allocate the object.) Platforms tested: AIX (Copper: Fortran & C++) Linux (Verbena: Fortran & C++) IRIX (Modi4: Parallel & Fortran) (Sol is down) Misc. update:
* [svn-r6556] Purpose:Bill Wendling2003-04-011-4/+5
| | | | | | | | | | | | | | | | | | | Update & Bug Fix Description: The "free" protocol was missing. Added that to the server side. When doing a "create" of a file (with no other data structures created), the freespace in the file wasn't being reclaimed. Solution: After adding the free protocol, we put the burden of running through the FD_free function on the SAP instead of each client. Platforms tested: Linux Misc. update:
* [svn-r6527] Purpose:Bill Wendling2003-03-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | Bug Fix & Update Description: FPHDF5 was creating files which didn't have the EOA field in the superblock set correctly. It turns out that the SAP was keeping this information to itself instead of giving it to the client processes. Naughty SAP! Solution: Have the SAP send this information back to the clients so that they can update the superblock as necessary. This now creates a file (with just the root group) that looks correct! Only problem is that there's extra file space being allocated. Also, at program termination, there's an infinite loop... Platforms tested: H5committests (run by hand on burrwhite, arabica, and modi4) Misc. update:
* [svn-r6514] Purpose:Bill Wendling2003-03-201-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Bug fix and Update Description: From Quincey's comments on the code I checked in last night: - In H5F_close call, the "private" processes should call the H5F_flush with the "CLEAR_ONLY" flag. - There's no need for a special case for FPHDF5 in the FD_real_alloc function since FPHDF5 doesn't define an alloc function. - The return type of H5Pset_fapl_fphdf5 should be herr_t instead of hid_t. I don't know how it got that way in the first place. - The variable names for MPI types and the structure typedefs should be switched: H5FP_request/H5FP_request_t to H5FP_request_t/H5FP_request and so on. - In the H5FP.c module, I was commiting the H5FP_request MPI datatype but using the wrong offset field... Platforms tested: Linux...will test on others, but these are mostly FPHDF5 changes. Misc. update:
* [svn-r6507] Purpose:Bill Wendling2003-03-191-0/+4
| | | | | | | | | | | | | | | bug Fix Description: MPI stuff was getting into the non-parallel headers. Solution: #ifdefed the headers out if H5_HAVE_FPHDF5 isn't defined... Platforms tested: Sol, Modi4 Misc. update:
* [svn-r6504] Purpose:Bill Wendling2003-03-191-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Why not? Description: Lots of changes. This is basically a "commit because there are a lot of changes" commit. The server now acts more like a metadata caching server. The dumping mechanism finally works (I think). At least in the test I did it seemed to write things back. There's a new MPI TAG to use (H5FP_TAG_DUMP) when dumping things. Changed a lot of the functions from passing a structure around to just passing a pointer to that structure. I have no clue why I did it the previous way... Um...And more synchronization stuff between the client and server. The protocol between the two was being broke in a couple of places. We're getting closer! Platforms tested: Linux (probably Modi4 too) Misc. update:
* [svn-r6423] Purpose:Bill Wendling2003-02-211-1/+38
| | | | | | | | | Update Description: Added support for the allocation and freeing of space in the file. This information is kept on the Server. Platforms tested: Linux & Modi4
* [svn-r6401] Purpose:Bill Wendling2003-02-121-14/+26
| | | | | | | | | | | | | | | | Update Description: Added a "metadata flush" function which allows the clients to force a dump of the metadata from the SAP. This should be done before closing the file. Modified the information stored on an "open" of the file. The filename is unnecessary, so I got rid of it. More integration with the File Driver code: Passing in a data xfer property list. Platforms tested: Linux
* [svn-r6390] Purpose:Bill Wendling2003-02-101-18/+14
| | | | | | | | | | | | | | | | Update Description: Removed some obsolete fields - such as the AC_subst_t object ID - which isn't needed. Fixed so that there are fewer global variables. There are still some left, however. Modified the client and server code so that it handles read requests better. There were some flaws in how this was done before (it was calling H5FD_read() instead of just returning the status that it couldn't find the metadata in the cache). Platforms tested: Linux
* [svn-r6379] Purpose:Bill Wendling2003-02-061-9/+8
| | | | | | | | | | | | | | Update Description: H5FP.c, H5FPclient.c, H5FPprivate.h, H5FPserver.c: Update. More progression towards the SAP as metadata cache. It only lacks the ability to take care of metadata allocations. H5FDfphdf5.[ch]: Start of a new driver for FPHDF5. Not fully implemented just yet... Platforms tested: Linux
* [svn-r6371] Purpose:Bill Wendling2003-02-031-12/+21
| | | | | | | | | | | | | | Update Description: Changes: - Added support for the server dumping metadata writes to a client. - Some of the code wasn't handling allocated buffers correctly (freeing twice). - Modified server so that it handles metadata only. Platforms tested: Linux
* [svn-r6336] Purpose:Bill Wendling2003-01-271-99/+130
| | | | | | | | | | | | | | | Update Description: This is the first conversion of the FPHDF5 code to be a metadata cache. There's an extra error message. I rewrote the sync/change code to be read metadata/write metadata instead. I still need to hook these changes into the HDF5 code so that it looks at the SAP first before checking the file for metadata. Platforms tested: Linux
* [svn-r6220] Purpose:Bill Wendling2002-12-191-18/+34
| | | | | | | | | | Update Description: A few generic changes to the FPHDF5 code. Some error messages reworked a bit. Cleaning up in case of failure improved in some cases. Added another field to the synchronization messages... Platforms tested: Linux
* [svn-r6084] Purpose:Bill Wendling2002-11-121-1/+1
| | | | | | | | | | | FPHDF5 Fixups Description: - Stopped using API calls in the H5FPclient code. It now uses internal library calls. - Removed some FIXME comments because they've been fixed. - Small fix for an enum starting at 37 for no reason :-) Platforms tested: Eirene (only affects FPHDF5, so no need to test 3 platforms just yet).
* [svn-r6040] Purpose:Quincey Koziol2002-10-281-18/+10
| | | | | | | | | | Code cleanup Description: Add more comments and clean up small bits of the FPH5 code. Platforms tested: FreeBSD 4.7 (sleipnir), changes too minor to affect other platforms.
* [svn-r6025] Purpose:Bill Wendling2002-10-231-0/+201
Feature Add Description: New files for the Flexible Parallel HDF5 stuff. H5FP.c - Module housing the APIs to FPHDF5 H5FPclient.c - Module housing the internal client APIs H5FPserver.c - Module housing the internal server APIs H5FPpublic.h - Header for public APIs H5FPprivate.h - Header for private APIs H5Ofphdf5.c - Way of serializing FPHDF5 information to and from the SAP H5Oplist.c - Way of serializing a generic property list. Solution: [details about the changes, algorithm, etc...] [Please as detail as you can since your own explanation is better than others guessing it from the code.] Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}? [If no, why not?] Other platforms/configurations tested? Misc. update: Update MANIFEST if you add or remove any file. Update release_docs/RELEASE for bug fixes, new features, etc. Update applicable document files too.