diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-03-27 21:34:21 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-03-27 21:34:21 (GMT) |
commit | fc295015d8500f495f5de9d6c9b007c45d21ca3e (patch) | |
tree | a083a96c2fbcfd2a3d26ff5cff69b829115c09fa /src/H5FPserver.c | |
parent | 5d51e5adebb7d20c132eab84ca5b3d16354d2acc (diff) | |
download | hdf5-fc295015d8500f495f5de9d6c9b007c45d21ca3e.zip hdf5-fc295015d8500f495f5de9d6c9b007c45d21ca3e.tar.gz hdf5-fc295015d8500f495f5de9d6c9b007c45d21ca3e.tar.bz2 |
[svn-r6527] Purpose:
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:
Diffstat (limited to 'src/H5FPserver.c')
-rw-r--r-- | src/H5FPserver.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/H5FPserver.c b/src/H5FPserver.c index dc85ad2..01848c7 100644 --- a/src/H5FPserver.c +++ b/src/H5FPserver.c @@ -1497,10 +1497,13 @@ H5FP_sap_handle_alloc_request(H5FP_request_t *req) * Whatta pain. */ if ((sap_alloc.addr = H5FD_alloc((H5FD_t*)&info->file, req->mem_type, H5P_DEFAULT, - req->meta_block_size)) == HADDR_UNDEF) + req->meta_block_size)) == HADDR_UNDEF) HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "SAP unable to allocate file memory"); + /* Get the EOA from the file. This call doesn't fail. */ + sap_alloc.eoa = ((H5FD_t*)&info->file)->cls->get_eoa((H5FD_t*)&info->file); + if ((mrc = MPI_Send(&sap_alloc, 1, H5FP_alloc, (int)req->proc_rank, H5FP_TAG_ALLOC, H5FP_SAP_COMM)) != MPI_SUCCESS) HMPI_GOTO_ERROR(FAIL, "MPI_Send failed", mrc); |