From 19482082081f2f9ed0f91b14e1e9b7fad2582ef2 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Tue, 28 Oct 2003 10:34:01 -0500 Subject: [svn-r7768] Purpose: Code cleanup Description: Untwist the last few sections of code before starting on fixing the problems with reading off the end of the file in earnest. Platforms tested: FreeBSD 4.9 (sleipnir) FreeBSD 4.9 (sleipnir) w/parallel h5committest not necessary - parallel only changes --- src/H5FDmpio.c | 47 +++++++++++------------------------------------ 1 file changed, 11 insertions(+), 36 deletions(-) diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c index 060376b..599fd62 100644 --- a/src/H5FDmpio.c +++ b/src/H5FDmpio.c @@ -1471,7 +1471,7 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add MPI_Offset mpi_off; MPI_Status mpi_stat; int mpi_code; /* mpi return code */ - MPI_Datatype buf_type; + MPI_Datatype buf_type=MPI_BYTE; /* MPI description of the selection in memory */ int size_i, bytes_read, n; unsigned use_view_this_time=0; H5P_genplist_t *plist; /* Property list pointer */ @@ -1555,33 +1555,20 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add else { /* Sanity check that independent I/O must be occuring */ assert(xfer_mode==H5FD_MPIO_INDEPENDENT); - - /* - * Prepare for a simple xfer of a contiguous block of bytes. The - * btype, ftype, and disp fields are not used. - */ - buf_type = MPI_BYTE; } /* end else */ } /* end if */ - else { - /* - * Prepare for a simple xfer of a contiguous block of bytes. The - * btype, ftype, and disp fields are not used. - */ - buf_type = MPI_BYTE; - } /* end else */ /* Read the data. */ - if (!use_view_this_time) { - if (MPI_SUCCESS!= (mpi_code=MPI_File_read_at(file->f, mpi_off, buf, size_i, buf_type, &mpi_stat))) - HMPI_GOTO_ERROR(FAIL, "MPI_File_read_at failed", mpi_code); - } else { + if (use_view_this_time) { #ifdef H5FDmpio_DEBUG if (H5FD_mpio_Debug[(int)'t']) fprintf(stdout, "H5FD_mpio_read: using MPIO collective mode\n"); #endif if (MPI_SUCCESS!= (mpi_code=MPI_File_read_at_all(file->f, mpi_off, buf, size_i, buf_type, &mpi_stat ))) HMPI_GOTO_ERROR(FAIL, "MPI_File_read_at_all failed", mpi_code); + } else { + if (MPI_SUCCESS!= (mpi_code=MPI_File_read_at(file->f, mpi_off, buf, size_i, buf_type, &mpi_stat))) + HMPI_GOTO_ERROR(FAIL, "MPI_File_read_at failed", mpi_code); } /* KLUDGE, Robb Matzke, 2000-12-29 @@ -1789,7 +1776,7 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, H5FD_mpio_t *file = (H5FD_mpio_t*)_file; MPI_Offset mpi_off; MPI_Status mpi_stat; - MPI_Datatype buf_type; + MPI_Datatype buf_type=MPI_BYTE; /* MPI description of the selection in memory */ int mpi_code; /* MPI return code */ int size_i, bytes_written; unsigned use_view_this_time=0; @@ -1873,23 +1860,11 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, else { /* Sanity check that independent I/O must occur */ assert(xfer_mode==H5FD_MPIO_INDEPENDENT); - - /* - * Prepare for a simple xfer of a contiguous block of bytes. - * The btype, ftype, and disp fields are not used. - */ - buf_type = MPI_BYTE; } /* end else */ } /* end if */ else { unsigned block_before_meta_write=0; /* Whether to block before a metadata write */ - /* - * Prepare for a simple xfer of a contiguous block of bytes. - * The btype, ftype, and disp fields are not used. - */ - buf_type = MPI_BYTE; - /* Check if we need to syncronize all processes before attempting metadata write * (Prevents race condition where the process writing the metadata goes ahead * and writes the metadata to the file before all the processes have @@ -1924,11 +1899,7 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, } /* end if */ /* Write the data. */ - if (!use_view_this_time) { - /*OKAY: CAST DISCARDS CONST QUALIFIER*/ - if (MPI_SUCCESS != (mpi_code=MPI_File_write_at(file->f, mpi_off, (void*)buf, size_i, buf_type, &mpi_stat))) - HMPI_GOTO_ERROR(FAIL, "MPI_File_write_at failed", mpi_code); - } else { + if (use_view_this_time) { #ifdef H5FDmpio_DEBUG if (H5FD_mpio_Debug[(int)'t']) fprintf(stdout, "H5FD_mpio_write: using MPIO collective mode\n"); @@ -1936,6 +1907,10 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, /*OKAY: CAST DISCARDS CONST QUALIFIER*/ if (MPI_SUCCESS != (mpi_code=MPI_File_write_at_all(file->f, mpi_off, (void*)buf, size_i, buf_type, &mpi_stat))) HMPI_GOTO_ERROR(FAIL, "MPI_File_write_at_all failed", mpi_code); + } else { + /*OKAY: CAST DISCARDS CONST QUALIFIER*/ + if (MPI_SUCCESS != (mpi_code=MPI_File_write_at(file->f, mpi_off, (void*)buf, size_i, buf_type, &mpi_stat))) + HMPI_GOTO_ERROR(FAIL, "MPI_File_write_at failed", mpi_code); } /* KLUDGE, Robb Matzke, 2000-12-29 -- cgit v0.12