[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2-324-gcd51b6f
Service Account
noreply at mpich.org
Wed May 25 10:33:46 CDT 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via cd51b6f0bd2f053ef1bf4dc9339ca40c5ef48cfa (commit)
via 9220062cd25625b64692005378f3003cb075d5fd (commit)
via 08de58ea0f65b5b201eee3dd448f1814093a9f7a (commit)
via 9559fd65c08e179947cff6981dceb8ac35c04672 (commit)
from a131e534d26ea79ba028435b2a162e14b5c7764f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/cd51b6f0bd2f053ef1bf4dc9339ca40c5ef48cfa
commit cd51b6f0bd2f053ef1bf4dc9339ca40c5ef48cfa
Author: Rob Latham <robl at mcs.anl.gov>
Date: Tue May 24 15:47:26 2016 -0500
promote types for 64-to-32 warnings
'long' should be large enough to hold all MPL_time_t cases
No Reviewer
diff --git a/src/mpl/src/timer/mpl_timer_clock_gettime.c b/src/mpl/src/timer/mpl_timer_clock_gettime.c
index e42431d..6c081fa 100644
--- a/src/mpl/src/timer/mpl_timer_clock_gettime.c
+++ b/src/mpl/src/timer/mpl_timer_clock_gettime.c
@@ -34,7 +34,7 @@ int MPL_wtime_todouble(MPL_time_t * t, double *val)
int MPL_wtime_acc(MPL_time_t * t1, MPL_time_t * t2, MPL_time_t * t3)
{
- int nsec, sec;
+ long nsec, sec;
nsec = t2->tv_nsec - t1->tv_nsec;
sec = t2->tv_sec - t1->tv_sec;
http://git.mpich.org/mpich.git/commitdiff/9220062cd25625b64692005378f3003cb075d5fd
commit 9220062cd25625b64692005378f3003cb075d5fd
Author: Rob Latham <robl at mcs.anl.gov>
Date: Tue May 24 15:45:21 2016 -0500
srand and 64-to-32 warnings
time returns long, but srand takes an int. make sure we are explicitly
taking the most relvant (lower) 32 bits from time.
diff --git a/src/mpi/romio/adio/common/shfp_fname.c b/src/mpi/romio/adio/common/shfp_fname.c
index 5c84381..1e76885 100644
--- a/src/mpi/romio/adio/common/shfp_fname.c
+++ b/src/mpi/romio/adio/common/shfp_fname.c
@@ -39,7 +39,9 @@ void ADIOI_Shfp_fname(ADIO_File fd, int rank, int *error_code)
fd->shared_fp_fname = (char *) ADIOI_Malloc(PATH_MAX);
if (!rank) {
- srand(time(NULL));
+ /* srand takes int but time returns long; keep the lower and most
+ * significant 32 bits */
+ srand(time(NULL)& 0xffffffff);
i = rand();
pid = (int)getpid();
diff --git a/src/mpi/romio/mpi-io/mpir_cst_filesys.c b/src/mpi/romio/mpi-io/mpir_cst_filesys.c
index c6c5ca6..3ef9429 100644
--- a/src/mpi/romio/mpi-io/mpir_cst_filesys.c
+++ b/src/mpi/romio/mpi-io/mpir_cst_filesys.c
@@ -108,7 +108,7 @@ int MPIR_Comm_split_filesystem(MPI_Comm comm, int key, const char *dirname, MPI_
int r, pid;
/* same algorithim as shared file pointer name */
- srand(time(NULL));
+ srand(time(NULL) & 0xffffffff);
r = rand();
pid = (int) getpid();
http://git.mpich.org/mpich.git/commitdiff/08de58ea0f65b5b201eee3dd448f1814093a9f7a
commit 08de58ea0f65b5b201eee3dd448f1814093a9f7a
Author: Gilles Gouaillardet <gilles.gouaillardet at iferc.org>
Date: Thu Jan 30 17:02:54 2014 +0900
Add wrap retry logic into romio/adio/ad_lustre.
Since [p](read|write) can return with less data than requested,
some wrap retry logic has been added in ad_lustre.
For example, in my test environment, a 4GB write requires
3 calls to write ( write returns ~2GB, ~2GB and 8kB).
read/write were replaced with pread/pwrite for thread safety.
"obviously short" pread/pwrite are not wrapped yet.
Fixes #2012
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c b/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c
index 31c86be..ffd096a 100644
--- a/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c
+++ b/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c
@@ -16,12 +16,12 @@
#define LUSTRE_MEMALIGN (1<<12) /* to use page_shift */
-static void ADIOI_LUSTRE_Aligned_Mem_File_Write(ADIO_File fd, const void *buf, int len,
- ADIO_Offset offset, int *err);
-static void ADIOI_LUSTRE_Aligned_Mem_File_Write(ADIO_File fd, const void *buf, int len,
- ADIO_Offset offset, int *err)
+static void ADIOI_LUSTRE_Aligned_Mem_File_Write(ADIO_File fd, const void *buf, MPI_Count len,
+ ADIO_Offset offset, ssize_t *err);
+static void ADIOI_LUSTRE_Aligned_Mem_File_Write(ADIO_File fd, const void *buf, MPI_Count len,
+ ADIO_Offset offset, ssize_t *err)
{
- int rem, size, nbytes;
+ ssize_t rem, size, nbytes;
if (!(len % fd->d_miniosz) && (len >= fd->d_miniosz)) {
*err = pwrite(fd->fd_direct, buf, len, offset);
} else if (len < fd->d_miniosz) {
@@ -29,18 +29,22 @@ static void ADIOI_LUSTRE_Aligned_Mem_File_Write(ADIO_File fd, const void *buf, i
} else {
rem = len % fd->d_miniosz;
size = len - rem;
- nbytes = pwrite(fd->fd_direct, buf, size, offset);
- nbytes += pwrite(fd->fd_sys, ((char *)buf) + size, rem, offset+size);
- *err = nbytes;
+ *err = pwrite(fd->fd_direct, buf, size, offset);
+ if (*err == -1) return;
+ nbytes = *err;
+ *err = pwrite(fd->fd_sys, ((char *)buf) + size, rem, offset+size);
+ if (*err == -1) return;
+ *err += nbytes;
}
}
-static void ADIOI_LUSTRE_Aligned_Mem_File_Read(ADIO_File fd, const void *buf, int len,
- ADIO_Offset offset, int *err);
-static void ADIOI_LUSTRE_Aligned_Mem_File_Read(ADIO_File fd, const void *buf, int len,
- ADIO_Offset offset, int *err)
+static void ADIOI_LUSTRE_Aligned_Mem_File_Read(ADIO_File fd, const void *buf, MPI_Count len,
+ ADIO_Offset offset, ssize_t *err);
+static void ADIOI_LUSTRE_Aligned_Mem_File_Read(ADIO_File fd, const void *buf, MPI_Count len,
+ ADIO_Offset offset, ssize_t *err)
{
- int rem, size, nbytes;
+ MPI_Count rem, size;
+ ssize_t nbytes;
if (!(len % fd->d_miniosz) && (len >= fd->d_miniosz))
*err = pread(fd->fd_direct, (void *)buf, len, offset);
else if (len < fd->d_miniosz)
@@ -48,19 +52,22 @@ static void ADIOI_LUSTRE_Aligned_Mem_File_Read(ADIO_File fd, const void *buf, in
else {
rem = len % fd->d_miniosz;
size = len - rem;
- nbytes = pread(fd->fd_direct, (void *)buf, size, offset);
- nbytes += pread(fd->fd_sys, ((char *)buf) + size, rem, offset+size);
- *err = nbytes;
+ *err = pread(fd->fd_direct, (void *)buf, size, offset);
+ if (*err == -1) return;
+ nbytes = *err;
+ *err = pread(fd->fd_sys, ((char *)buf) + size, rem, offset+size);
+ if (*err == -1) return;
+ *err += nbytes;
}
}
-
-static int ADIOI_LUSTRE_Directio(ADIO_File fd, const void *buf, int len,
+static ssize_t ADIOI_LUSTRE_Directio(ADIO_File fd, const void *buf, MPI_Count len,
off_t offset, int rw);
-static int ADIOI_LUSTRE_Directio(ADIO_File fd, const void *buf, int len,
+static ssize_t ADIOI_LUSTRE_Directio(ADIO_File fd, const void *buf, MPI_Count len,
off_t offset, int rw)
{
- int err=-1, diff, size=len, nbytes = 0;
+ ssize_t err=-1, diff, nbytes = 0;
+ MPI_Count size=len;
void *newbuf;
if (offset % fd->d_miniosz) {
@@ -70,47 +77,58 @@ static int ADIOI_LUSTRE_Directio(ADIO_File fd, const void *buf, int len,
nbytes = pwrite(fd->fd_sys, (void *)buf, diff, offset);
else
nbytes = pread(fd->fd_sys, (void *)buf, diff, offset);
+ if (nbytes == -1) return -1;
buf = ((char *) buf) + diff;
offset += diff;
size = len - diff;
}
if (!size) {
- return diff;
+ return nbytes;
}
if (rw) { /* direct I/O enabled */
if (!(((long) buf) % fd->d_mem)) {
ADIOI_LUSTRE_Aligned_Mem_File_Write(fd, buf, size, offset, &err);
+ if (err == -1) return -1;
nbytes += err;
} else {
newbuf = (void *) memalign(LUSTRE_MEMALIGN, size);
if (newbuf) {
memcpy(newbuf, buf, size);
ADIOI_LUSTRE_Aligned_Mem_File_Write(fd, newbuf, size, offset, &err);
+ if (err == -1) return -1;
nbytes += err;
ADIOI_Free(newbuf);
}
- else nbytes += pwrite(fd->fd_sys, buf, size, offset);
+ else {
+ err = pwrite(fd->fd_sys, buf, size, offset);
+ if (err == -1) return -1;
+ nbytes += err;
+ }
}
- err = nbytes;
} else {
if (!(((long) buf) % fd->d_mem)) {
ADIOI_LUSTRE_Aligned_Mem_File_Read(fd, buf, size, offset, &err);
+ if (err == -1) return -1;
nbytes += err;
} else {
newbuf = (void *) memalign(LUSTRE_MEMALIGN, size);
if (newbuf) {
ADIOI_LUSTRE_Aligned_Mem_File_Read(fd, newbuf, size, offset, &err);
+ if (err == -1) return -1;
if (err > 0) memcpy((void *)buf, newbuf, err);
nbytes += err;
ADIOI_Free(newbuf);
}
- else nbytes += pread(fd->fd_sys, (void *)buf, size, offset);
+ else {
+ err = pread(fd->fd_sys, (void *)buf, size, offset);
+ if (err == -1) return -1;
+ nbytes += err;
+ }
}
- err = nbytes;
}
- return err;
+ return nbytes;
}
static void ADIOI_LUSTRE_IOContig(ADIO_File fd, const void *buf, int count,
@@ -122,9 +140,12 @@ static void ADIOI_LUSTRE_IOContig(ADIO_File fd, const void *buf, int count,
ADIO_Offset offset, ADIO_Status *status,
int io_mode, int *error_code)
{
- int err=-1;
+ ssize_t err=-1;
+ size_t rw_count;
+ ADIO_Offset bytes_xfered=0;
MPI_Count datatype_size, len;
static char myname[] = "ADIOI_LUSTRE_IOCONTIG";
+ char *p;
MPI_Type_size_x(datatype, &datatype_size);
len = datatype_size * count;
@@ -139,36 +160,52 @@ static void ADIOI_LUSTRE_IOContig(ADIO_File fd, const void *buf, int count,
if (err == -1) goto ioerr;
}
+ p = (char *)buf;
if (io_mode) {
+ while (bytes_xfered < len) {
#ifdef ADIOI_MPE_LOGGING
- MPE_Log_event(ADIOI_MPE_write_a, 0, NULL);
+ MPE_Log_event(ADIOI_MPE_write_a, 0, NULL);
#endif
- err = write(fd->fd_sys, buf, len);
+ rw_count = len - bytes_xfered;
+ err = pwrite(fd->fd_sys, p, rw_count, offset+bytes_xfered);
+ if (err == -1) goto ioerr;
#ifdef ADIOI_MPE_LOGGING
- MPE_Log_event(ADIOI_MPE_write_b, 0, NULL);
+ MPE_Log_event(ADIOI_MPE_write_b, 0, NULL);
#endif
+ if (err == 0) break;
+ bytes_xfered += err;
+ p += err;
+ }
} else {
+ while (bytes_xfered < len) {
#ifdef ADIOI_MPE_LOGGING
- MPE_Log_event(ADIOI_MPE_read_a, 0, NULL);
+ MPE_Log_event(ADIOI_MPE_read_a, 0, NULL);
#endif
- err = read(fd->fd_sys, (void *)buf, len);
+ rw_count = len - bytes_xfered;
+ err = pread(fd->fd_sys, p, rw_count, offset+bytes_xfered);
+ if (err == -1) goto ioerr;
#ifdef ADIOI_MPE_LOGGING
- MPE_Log_event(ADIOI_MPE_read_b, 0, NULL);
+ MPE_Log_event(ADIOI_MPE_read_b, 0, NULL);
#endif
+ if (err == 0) break;
+ bytes_xfered += err;
+ p += err;
+ }
}
} else {
err = ADIOI_LUSTRE_Directio(fd, buf, len, offset, io_mode);
+ if (err == -1) goto ioerr;
+ bytes_xfered = err;
}
- if (err == -1) goto ioerr;
- fd->fp_sys_posn = offset + err;
+ fd->fp_sys_posn = offset + bytes_xfered;
if (file_ptr_type == ADIO_INDIVIDUAL) {
- fd->fp_ind += err;
+ fd->fp_ind += bytes_xfered;
}
#ifdef HAVE_STATUS_SET_BYTES
- if (status) MPIR_Status_set_bytes(status, datatype, err);
+ if (status) MPIR_Status_set_bytes(status, datatype, bytes_xfered);
#endif
*error_code = MPI_SUCCESS;
http://git.mpich.org/mpich.git/commitdiff/9559fd65c08e179947cff6981dceb8ac35c04672
commit 9559fd65c08e179947cff6981dceb8ac35c04672
Author: Gilles Gouaillardet <gilles.gouaillardet at iferc.org>
Date: Thu Jan 30 15:05:57 2014 +0900
Fix integer overflow in romio/adio/ad_lustre.
Some integer overflow prevented MPI_File_write_all to write
more than 2GB at a time on lustre.
This patch does the minimum. A fuller audit likely needed.
(Michael Raymond at SGI complained to RobL about this bug, too)
Fix #2011.
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpi/romio/adio/ad_lustre/ad_lustre.h b/src/mpi/romio/adio/ad_lustre/ad_lustre.h
index edd2bd3..5e8f017 100644
--- a/src/mpi/romio/adio/ad_lustre/ad_lustre.h
+++ b/src/mpi/romio/adio/ad_lustre/ad_lustre.h
@@ -88,7 +88,7 @@ void ADIOI_LUSTRE_Calc_my_req(ADIO_File fd, ADIO_Offset *offset_list,
int *count_my_req_procs_ptr,
int **count_my_req_per_proc_ptr,
ADIOI_Access **my_req_ptr,
- int ***buf_idx_ptr);
+ ADIO_Offset ***buf_idx_ptr);
int ADIOI_LUSTRE_Calc_aggregator(ADIO_File fd, ADIO_Offset off,
ADIO_Offset *len, int *striping_info);
diff --git a/src/mpi/romio/adio/ad_lustre/ad_lustre_aggregate.c b/src/mpi/romio/adio/ad_lustre/ad_lustre_aggregate.c
index 39f158d..a9840cc 100644
--- a/src/mpi/romio/adio/ad_lustre/ad_lustre_aggregate.c
+++ b/src/mpi/romio/adio/ad_lustre/ad_lustre_aggregate.c
@@ -140,13 +140,13 @@ void ADIOI_LUSTRE_Calc_my_req(ADIO_File fd, ADIO_Offset *offset_list,
int *count_my_req_procs_ptr,
int **count_my_req_per_proc_ptr,
ADIOI_Access **my_req_ptr,
- int ***buf_idx_ptr)
+ ADIO_Offset ***buf_idx_ptr)
{
/* Nothing different from ADIOI_Calc_my_req(), except calling
* ADIOI_Lustre_Calc_aggregator() instead of the old one */
- int *count_my_req_per_proc, count_my_req_procs, **buf_idx;
+ int *count_my_req_per_proc, count_my_req_procs;
int i, l, proc;
- ADIO_Offset avail_len, rem_len, curr_idx, off;
+ ADIO_Offset avail_len, rem_len, curr_idx, off, **buf_idx;
ADIOI_Access *my_req;
*count_my_req_per_proc_ptr = (int *) ADIOI_Calloc(nprocs, sizeof(int));
@@ -157,7 +157,7 @@ void ADIOI_LUSTRE_Calc_my_req(ADIO_File fd, ADIO_Offset *offset_list,
* MPI_Alltoall later on.
*/
- buf_idx = (int **) ADIOI_Malloc(nprocs * sizeof(int*));
+ buf_idx = (ADIO_Offset **) ADIOI_Malloc(nprocs * sizeof(ADIO_Offset *));
/* one pass just to calculate how much space to allocate for my_req;
* contig_access_count was calculated way back in ADIOI_Calc_my_off_len()
@@ -201,8 +201,8 @@ void ADIOI_LUSTRE_Calc_my_req(ADIO_File fd, ADIO_Offset *offset_list,
/* initialize buf_idx vectors */
for (i = 0; i < nprocs; i++) {
/* add one to count_my_req_per_proc[i] to avoid zero size malloc */
- buf_idx[i] = (int *) ADIOI_Malloc((count_my_req_per_proc[i] + 1)
- * sizeof(int));
+ buf_idx[i] = (ADIO_Offset *) ADIOI_Malloc((count_my_req_per_proc[i] + 1)
+ * sizeof(ADIO_Offset));
}
/* now allocate space for my_req, offset, and len */
@@ -235,9 +235,8 @@ void ADIOI_LUSTRE_Calc_my_req(ADIO_File fd, ADIO_Offset *offset_list,
l = my_req[proc].count;
- ADIOI_Assert(curr_idx == (int) curr_idx);
ADIOI_Assert(l < count_my_req_per_proc[proc]);
- buf_idx[proc][l] = (int) curr_idx;
+ buf_idx[proc][l] = curr_idx;
curr_idx += avail_len;
rem_len = len_list[i] - avail_len;
@@ -259,9 +258,8 @@ void ADIOI_LUSTRE_Calc_my_req(ADIO_File fd, ADIO_Offset *offset_list,
striping_info);
l = my_req[proc].count;
- ADIOI_Assert(curr_idx == (int) curr_idx);
ADIOI_Assert(l < count_my_req_per_proc[proc]);
- buf_idx[proc][l] = (int) curr_idx;
+ buf_idx[proc][l] = curr_idx;
curr_idx += avail_len;
rem_len -= avail_len;
diff --git a/src/mpi/romio/adio/ad_lustre/ad_lustre_wrcoll.c b/src/mpi/romio/adio/ad_lustre/ad_lustre_wrcoll.c
index 36f5f28..e87f927 100644
--- a/src/mpi/romio/adio/ad_lustre/ad_lustre_wrcoll.c
+++ b/src/mpi/romio/adio/ad_lustre/ad_lustre_wrcoll.c
@@ -21,7 +21,7 @@ static void ADIOI_LUSTRE_Exch_and_write(ADIO_File fd, const void *buf,
ADIO_Offset *len_list,
int contig_access_count,
int *striping_info,
- int **buf_idx, int *error_code);
+ ADIO_Offset **buf_idx, int *error_code);
static void ADIOI_LUSTRE_Fill_send_buffer(ADIO_File fd, const void *buf,
ADIOI_Flatlist_node *flat_buf,
char **send_buf,
@@ -31,7 +31,7 @@ static void ADIOI_LUSTRE_Fill_send_buffer(ADIO_File fd, const void *buf,
int *sent_to_proc, int nprocs,
int myrank, int contig_access_count,
int *striping_info,
- int *send_buf_idx,
+ ADIO_Offset *send_buf_idx,
int *curr_to_proc,
int *done_to_proc, int iter,
MPI_Aint buftype_extent);
@@ -48,11 +48,11 @@ static void ADIOI_LUSTRE_W_Exchange_data(ADIO_File fd, const void *buf,
int contig_access_count,
int *striping_info,
ADIOI_Access *others_req,
- int *send_buf_idx,
+ ADIO_Offset *send_buf_idx,
int *curr_to_proc,
int *done_to_proc, int *hole,
int iter, MPI_Aint buftype_extent,
- int *buf_idx,
+ ADIO_Offset *buf_idx,
ADIO_Offset **srt_off, int **srt_len, int *srt_num,
int *error_code);
void ADIOI_Heap_merge(ADIOI_Access *others_req, int *count,
@@ -85,7 +85,8 @@ void ADIOI_LUSTRE_WriteStridedColl(ADIO_File fd, const void *buf, int count,
ADIO_Offset orig_fp, start_offset, end_offset, off;
ADIO_Offset *offset_list = NULL, *st_offsets = NULL, *end_offsets = NULL;
ADIO_Offset *len_list = NULL;
- int **buf_idx = NULL, *striping_info = NULL;
+ int *striping_info = NULL;
+ ADIO_Offset **buf_idx = NULL;
int old_error, tmp_error;
MPI_Comm_size(fd->comm, &nprocs);
@@ -287,7 +288,7 @@ static void ADIOI_LUSTRE_Exch_and_write(ADIO_File fd, const void *buf,
ADIO_Offset *offset_list,
ADIO_Offset *len_list,
int contig_access_count,
- int *striping_info, int **buf_idx,
+ int *striping_info, ADIO_Offset **buf_idx,
int *error_code)
{
/* Send data to appropriate processes and write in sizes of no more
@@ -308,8 +309,8 @@ static void ADIOI_LUSTRE_Exch_and_write(ADIO_File fd, const void *buf,
int *recv_curr_offlen_ptr, *recv_count, *recv_size;
int *send_curr_offlen_ptr, *send_size;
int *sent_to_proc, *recv_start_pos;
- int *send_buf_idx, *curr_to_proc, *done_to_proc;
- int *this_buf_idx;
+ int *curr_to_proc, *done_to_proc;
+ ADIO_Offset *send_buf_idx, *this_buf_idx;
char *write_buf = NULL;
MPI_Status status;
ADIOI_Flatlist_node *flat_buf = NULL;
@@ -399,12 +400,12 @@ static void ADIOI_LUSTRE_Exch_and_write(ADIO_File fd, const void *buf,
/* amount of data sent to each proc so far. Used in
ADIOI_Fill_send_buffer. initialized to 0 here. */
- send_buf_idx = (int *) ADIOI_Malloc(nprocs * sizeof(int));
+ send_buf_idx = (ADIO_Offset *) ADIOI_Malloc(nprocs * sizeof(ADIO_Offset));
curr_to_proc = (int *) ADIOI_Malloc(nprocs * sizeof(int));
done_to_proc = (int *) ADIOI_Malloc(nprocs * sizeof(int));
/* Above three are used in ADIOI_Fill_send_buffer */
- this_buf_idx = (int *) ADIOI_Malloc(nprocs * sizeof(int));
+ this_buf_idx = (ADIO_Offset *) ADIOI_Malloc(nprocs * sizeof(ADIO_Offset));
recv_start_pos = (int *) ADIOI_Malloc(nprocs * sizeof(int));
/* used to store the starting value of recv_curr_offlen_ptr[i] in
@@ -620,11 +621,11 @@ static void ADIOI_LUSTRE_W_Exchange_data(ADIO_File fd, const void *buf,
int contig_access_count,
int *striping_info,
ADIOI_Access *others_req,
- int *send_buf_idx,
+ ADIO_Offset *send_buf_idx,
int *curr_to_proc, int *done_to_proc,
int *hole, int iter,
MPI_Aint buftype_extent,
- int *buf_idx,
+ ADIO_Offset *buf_idx,
ADIO_Offset **srt_off, int **srt_len, int *srt_num,
int *error_code)
{
@@ -889,7 +890,7 @@ static void ADIOI_LUSTRE_Fill_send_buffer(ADIO_File fd, const void *buf,
int myrank,
int contig_access_count,
int *striping_info,
- int *send_buf_idx,
+ ADIO_Offset *send_buf_idx,
int *curr_to_proc,
int *done_to_proc, int iter,
MPI_Aint buftype_extent)
-----------------------------------------------------------------------
Summary of changes:
src/mpi/romio/adio/ad_lustre/ad_lustre.h | 2 +-
src/mpi/romio/adio/ad_lustre/ad_lustre_aggregate.c | 18 ++--
src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c | 111 +++++++++++++-------
src/mpi/romio/adio/ad_lustre/ad_lustre_wrcoll.c | 27 +++---
src/mpi/romio/adio/common/shfp_fname.c | 4 +-
src/mpi/romio/mpi-io/mpir_cst_filesys.c | 2 +-
src/mpl/src/timer/mpl_timer_clock_gettime.c | 2 +-
7 files changed, 102 insertions(+), 64 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list