summaryrefslogtreecommitdiffstats
path: root/src/H5FDmpio.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2013-09-06 19:09:07 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2013-09-06 19:09:07 (GMT)
commit38e0563a6e2bf77c860abb0ec61aa6a9da4204af (patch)
treeac2b12c47f4d66885efa0c5ae76ea0f0609b9078 /src/H5FDmpio.c
parentad7d03103deb0da4c12db131079088cb3446756d (diff)
downloadhdf5-38e0563a6e2bf77c860abb0ec61aa6a9da4204af.zip
hdf5-38e0563a6e2bf77c860abb0ec61aa6a9da4204af.tar.gz
hdf5-38e0563a6e2bf77c860abb0ec61aa6a9da4204af.tar.bz2
[svn-r24112] Description:
Bring r24101 & 24111 from trunk to 1.8 branch: r24101: ======= Description: Clean up warnings, enable new compiler warning flag(s) and bring back changes from Coverity branch: r20813: Remove the dead code as listed for coverity bug #1722. h5committested. r20814: Issue 69: Check return value and throw error if negative return. Also free datatype id on error r20815: Use HDstrncpy. --gh r20816: Replaced one last HDstrcat call with HDstrncat to resolve coverity issue 832. r20817: Use HDstrncpy and HDstrncat. --gh r20818: Purpose: Fix valgrind issues with h5jam Description: Modified h5jam to free strings strdup'd in parse_command_line before exit. Note that they may still not be freed in case of error, due to the widespread use of exit(). r20819: Issue 80: change loop to use int as loop index. r20820: Maintenance: Fixed the bug found by coverity CID 788 There were two problems with this function: 1) it tried to unnecessary free NULL pointer 2) it tried to allocate c_name buffer that is done by H5Pget_class_name r24111: ======= Description: Restrict GCC diagnostic pragmas to only gcc 4.6+ Tested on: Mac OSX 10.8.4 (amazon) w/gcc 4.8.1, C++ & FORTRAN (too minor to require h5committest)
Diffstat (limited to 'src/H5FDmpio.c')
-rw-r--r--src/H5FDmpio.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c
index 2d73ec0..067d4f4 100644
--- a/src/H5FDmpio.c
+++ b/src/H5FDmpio.c
@@ -1985,8 +1985,18 @@ H5FD_mpio_truncate(H5FD_t *_file, hid_t UNUSED dxpl_id, hbool_t UNUSED closing)
HGOTO_ERROR(H5E_INTERNAL, H5E_BADRANGE, FAIL, "cannot convert from haddr_t to MPI_Offset")
/* Extend the file's size */
- if(MPI_SUCCESS != (mpi_code = MPI_File_set_size(file->f, mpi_off)))
- HMPI_GOTO_ERROR(FAIL, "MPI_File_set_size failed", mpi_code)
+ // Suren's modifications to disable truncate
+ // Original code: commented out the following 2 lines
+ // if(MPI_SUCCESS != (mpi_code = MPI_File_set_size(file->f, mpi_off)))
+ // HMPI_GOTO_ERROR(FAIL, "MPI_File_set_size failed", mpi_code)
+ // Modified code: The following 6 lines
+ if (getenv("HDF5_TRUNCATE")) {
+ if(0 == file->mpi_rank)
+ printf("I: HDF5: MPI-IO VFD: MPI_File_set_size()");
+ if(MPI_SUCCESS != (mpi_code = MPI_File_set_size(file->f, mpi_off)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_File_set_size failed", mpi_code)
+ }
+ // End of modified code
#else /* H5_MPI_FILE_SET_SIZE_BIG */
/* Wait until all processes are here before reading/writing the byte at
* process 0's end of address space. The window for corruption is