From 1078f13ad2b85075f07caeea3b4f05a0312f828c Mon Sep 17 00:00:00 2001 From: Edgar Gabriel Date: Mon, 30 Jul 2012 20:14:36 +0000 Subject: [PATCH] set status->_ucount correctly for collective read and write operations in the module This commit was SVN r26916. --- ompi/mca/fcoll/dynamic/fcoll_dynamic_file_read_all.c | 4 ++++ ompi/mca/fcoll/dynamic/fcoll_dynamic_file_write_all.c | 4 ++++ ompi/mca/fcoll/static/fcoll_static_file_read_all.c | 5 +++++ ompi/mca/fcoll/static/fcoll_static_file_write_all.c | 5 +++++ 4 files changed, 18 insertions(+) diff --git a/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_read_all.c b/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_read_all.c index be36b34589..5c8d0af892 100644 --- a/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_read_all.c +++ b/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_read_all.c @@ -94,6 +94,10 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh, max_data = count * datatype->super.size; } + if ( MPI_STATUS_IGNORE != status ) { + status->_ucount = max_data; + } + if (! (fh->f_flags & OMPIO_AGGREGATOR_IS_SET)) { ompi_io_ompio_set_aggregator_props (fh, mca_fcoll_dynamic_num_io_procs, diff --git a/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_write_all.c b/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_write_all.c index 4b5f9dc1fd..05eef0f76a 100644 --- a/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_write_all.c +++ b/ompi/mca/fcoll/dynamic/fcoll_dynamic_file_write_all.c @@ -134,6 +134,10 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh, max_data = count * datatype->super.size; } + if ( MPI_STATUS_IGNORE != status ) { + status->_ucount = max_data; + } + if (! (fh->f_flags & OMPIO_AGGREGATOR_IS_SET)) { ret = ompi_io_ompio_set_aggregator_props (fh, diff --git a/ompi/mca/fcoll/static/fcoll_static_file_read_all.c b/ompi/mca/fcoll/static/fcoll_static_file_read_all.c index 9ca4d02eb5..319c92300e 100644 --- a/ompi/mca/fcoll/static/fcoll_static_file_read_all.c +++ b/ompi/mca/fcoll/static/fcoll_static_file_read_all.c @@ -115,6 +115,11 @@ mca_fcoll_static_file_read_all (mca_io_ompio_file_t *fh, else { max_data = count * datatype->super.size; } + + if ( MPI_STATUS_IGNORE != status ) { + status->_ucount = max_data; + } + if (! (fh->f_flags & OMPIO_AGGREGATOR_IS_SET)) { ompi_io_ompio_set_aggregator_props (fh, diff --git a/ompi/mca/fcoll/static/fcoll_static_file_write_all.c b/ompi/mca/fcoll/static/fcoll_static_file_write_all.c index dcf96cfcc8..225b79f6e6 100644 --- a/ompi/mca/fcoll/static/fcoll_static_file_write_all.c +++ b/ompi/mca/fcoll/static/fcoll_static_file_write_all.c @@ -112,6 +112,11 @@ mca_fcoll_static_file_write_all (mca_io_ompio_file_t *fh, max_data = count * datatype->super.size; } + if ( MPI_STATUS_IGNORE != status ) { + status->_ucount = max_data; + } + + if (! (fh->f_flags & OMPIO_AGGREGATOR_IS_SET)) { ompi_io_ompio_set_aggregator_props (fh, mca_fcoll_static_num_io_procs,