From 4f7172ddf6289d137b1c69fe54fea0800afba9d9 Mon Sep 17 00:00:00 2001 From: raafatfeki Date: Tue, 5 Jun 2018 12:08:29 -0500 Subject: [PATCH] fcoll/vulcan: Support of larger offsets For very large offsets, the data chunk size to be written by each aggregator exceeds the capacity of an integer variable. Besides, some variables were not large enough to hold intermediate values. Signed-off-by: raafatfeki --- ompi/mca/fcoll/vulcan/fcoll_vulcan_file_write_all.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ompi/mca/fcoll/vulcan/fcoll_vulcan_file_write_all.c b/ompi/mca/fcoll/vulcan/fcoll_vulcan_file_write_all.c index 0a05950923..d6867eeb14 100644 --- a/ompi/mca/fcoll/vulcan/fcoll_vulcan_file_write_all.c +++ b/ompi/mca/fcoll/vulcan/fcoll_vulcan_file_write_all.c @@ -98,7 +98,7 @@ int mca_fcoll_vulcan_break_file_view ( struct iovec *decoded_iov, int iov_count, struct iovec ***broken_decoded_iovs, int **broken_iov_counts, struct iovec ***broken_iov_arrays, int **broken_counts, MPI_Aint **broken_total_lengths, - int stripe_count, int stripe_size); + int stripe_count, size_t stripe_size); int mca_fcoll_vulcan_get_configuration (mca_io_ompio_file_t *fh, int *vulcan_num_io_procs, @@ -1353,7 +1353,7 @@ int mca_fcoll_vulcan_break_file_view ( struct iovec *mem_iov, int mem_count, struct iovec ***ret_broken_mem_iovs, int **ret_broken_mem_counts, struct iovec ***ret_broken_file_iovs, int **ret_broken_file_counts, MPI_Aint **ret_broken_total_lengths, - int stripe_count, int stripe_size) + int stripe_count, size_t stripe_size) { int i, j, ret=OMPI_SUCCESS; struct iovec **broken_mem_iovs=NULL; @@ -1406,7 +1406,8 @@ int mca_fcoll_vulcan_break_file_view ( struct iovec *mem_iov, int mem_count, } /* Step 1: separate the local_iov_array per aggregator */ - int owner, rest, len, temp_len, blocklen, memlen=0; + int owner; + size_t rest, len, temp_len, blocklen, memlen=0; off_t offset, temp_offset, start_offset, memoffset=0; i=j=0;