|
9 | 9 | * University of Stuttgart. All rights reserved.
|
10 | 10 | * Copyright (c) 2004-2005 The Regents of the University of California.
|
11 | 11 | * All rights reserved.
|
12 |
| - * Copyright (c) 2008-2016 University of Houston. All rights reserved. |
| 12 | + * Copyright (c) 2008-2017 University of Houston. All rights reserved. |
13 | 13 | * Copyright (c) 2015 Research Organization for Information Science
|
14 | 14 | * and Technology (RIST). All rights reserved.
|
15 | 15 | * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
@@ -204,10 +204,28 @@ int mca_common_ompio_file_open (ompi_communicator_t *comm,
|
204 | 204 | file pointer of OMPIO to the very end of the file. */
|
205 | 205 | if ( ompio_fh->f_amode & MPI_MODE_APPEND ) {
|
206 | 206 | OMPI_MPI_OFFSET_TYPE current_size;
|
| 207 | + mca_sharedfp_base_module_t * shared_fp_base_module; |
207 | 208 |
|
208 | 209 | ompio_fh->f_fs->fs_file_get_size( ompio_fh,
|
209 | 210 | ¤t_size);
|
210 | 211 | mca_common_ompio_set_explicit_offset (ompio_fh, current_size);
|
| 212 | + if ( true == use_sharedfp ) { |
| 213 | + if ( NULL != ompio_fh->f_sharedfp && |
| 214 | + (!mca_io_ompio_sharedfp_lazy_open || |
| 215 | + !strcmp (ompio_fh->f_sharedfp_component->mca_component_name, |
| 216 | + "addproc") )) { |
| 217 | + |
| 218 | + shared_fp_base_module = ompio_fh->f_sharedfp; |
| 219 | + ret = shared_fp_base_module->sharedfp_seek(ompio_fh,current_size, MPI_SEEK_SET); |
| 220 | + } |
| 221 | + else { |
| 222 | + opal_output(1, "mca_common_ompio_file_open: Could not adjust position of " |
| 223 | + "shared file pointer whith MPI_MODE_APPEND\n"); |
| 224 | + ret = MPI_ERR_OTHER; |
| 225 | + goto fn_fail; |
| 226 | + } |
| 227 | + } |
| 228 | + |
211 | 229 | }
|
212 | 230 |
|
213 | 231 |
|
|
0 commit comments