This source file includes following definitions.
- ADIOI_PVFS_Flush
1
2
3
4
5
6
7
8 #include "ad_pvfs.h"
9
10 void ADIOI_PVFS_Flush(ADIO_File fd, int *error_code)
11 {
12 int err, rank, dummy=0, dummy_in=0;
13 static char myname[] = "ADIOI_PVFS_FLUSH";
14
15
16
17
18
19
20
21 MPI_Comm_rank(fd->comm, &rank);
22 MPI_Reduce(&dummy_in, &dummy, 1, MPI_INT, MPI_SUM,
23 fd->hints->ranklist[0], fd->comm);
24 if (rank == fd->hints->ranklist[0]) {
25 err = pvfs_fsync(fd->fd_sys);
26 }
27 MPI_Bcast(&err, 1, MPI_INT, fd->hints->ranklist[0], fd->comm);
28
29 if (err == -1) {
30 *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE,
31 myname, __LINE__, MPI_ERR_IO,
32 "**io",
33 "**io %s", strerror(errno));
34 }
35 else *error_code = MPI_SUCCESS;
36 }