This source file includes following definitions.
- ADIOI_PVFS2_Resize
1
2
3
4
5
6
7
8 #include "ad_pvfs2.h"
9 #include "ad_pvfs2_common.h"
10
11
12
13
14 void ADIOI_PVFS2_Resize(ADIO_File fd, ADIO_Offset size, int *error_code)
15 {
16 int ret, rank;
17 ADIOI_PVFS2_fs *pvfs_fs;
18 static char myname[] = "ADIOI_PVFS2_RESIZE";
19
20 *error_code = MPI_SUCCESS;
21
22 pvfs_fs = (ADIOI_PVFS2_fs*)fd->fs_ptr;
23
24 MPI_Comm_rank(fd->comm, &rank);
25
26
27
28
29
30
31
32
33
34
35 if (rank == fd->hints->ranklist[0]) {
36 ret = PVFS_sys_truncate(pvfs_fs->object_ref,
37 size, &(pvfs_fs->credentials));
38 MPI_Bcast(&ret, 1, MPI_INT, fd->hints->ranklist[0], fd->comm);
39 } else {
40 MPI_Bcast(&ret, 1, MPI_INT, fd->hints->ranklist[0], fd->comm);
41 }
42
43 if (ret != 0) {
44 *error_code = MPIO_Err_create_code(MPI_SUCCESS,
45 MPIR_ERR_RECOVERABLE,
46 myname, __LINE__,
47 ADIOI_PVFS2_error_convert(ret),
48 "Error in PVFS_sys_truncate", 0);
49 return;
50 }
51
52 }
53
54
55
56