23 #include "sion_error_handler.h" 55 #define DFUNCTION "_sion_paropen_generic_buddy" 64 if (cb_args == NULL) {
65 _sion_errorprint(SION_NOT_SUCCESS,_SION_ERROR_RETURN,
"cannot allocate cb_args structure of size %lu (sion_file_check_par_args), aborting ...\n",
70 cb_args->file_mode=strdup(file_mode);
73 cb_args->numfiles=numfiles;
79 #define DFUNCTION "sion_file_check_par_args_free_mpi" 83 if(cb_args->file_mode!=NULL) {
84 free(cb_args->file_mode);
92 #define DFUNCTION "sion_file_check_par_cb_mpi" 93 int sion_file_check_par_cb_mpi(
char *fname,
void *v_args ) {
95 int rc=SION_NOT_SUCCESS;
96 int gtasks, gRank, sid;
97 sion_int64 chunksize=0;
98 sion_int32 fsblksize=-1;
102 MPI_Comm_size(cb_args->gComm, >asks);
103 MPI_Comm_rank(cb_args->gComm, &gRank);
105 DPRINTFP((1, DFUNCTION, gRank,
"enter parallel check of file %s with mode %s\n", fname,cb_args->file_mode));
107 _sion_errorprint_set_flag(_SION_ERROR_FLAG_SUPPRESS_MSG);
108 sid =
sion_paropen_mpi(fname, cb_args->file_mode, &cb_args->numfiles, cb_args->gComm, &cb_args->lComm, &chunksize, &fsblksize, &globalrank, NULL, NULL);
109 _sion_errorprint_set_flag(_SION_ERROR_FLAG_NONE);
117 DPRINTFP((1, DFUNCTION, gRank,
"leave parallel check of file %s with mode %s rc=%d\n", fname,cb_args->file_mode,rc));
int sion_paropen_mpi(const char *fname, const char *file_mode, int *numFiles, MPI_Comm gComm, const MPI_Comm *lComm, sion_int64 *chunksize, sion_int32 *fsblksize, int *globalrank, FILE **fileptr, char **newfname)
Open a sion file using MPI.
int sion_parclose_mpi(int sid)
Close a sion file using MPI.