00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "ad_testfs.h"
00010 #include "adioi.h"
00011
00012 void ADIOI_TESTFS_ReadComplete(ADIO_Request *request, ADIO_Status *status, int
00013 *error_code)
00014 {
00015 int myrank, nprocs;
00016
00017 *error_code = MPI_SUCCESS;
00018
00019 if (*request == ADIO_REQUEST_NULL) {
00020 FPRINTF(stdout, "[xx/xx] ADIOI_TESTFS_ReadComplete called on ADIO_REQUEST_NULL\n");
00021 return;
00022 }
00023
00024 MPI_Comm_size((*request)->fd->comm, &nprocs);
00025 MPI_Comm_rank((*request)->fd->comm, &myrank);
00026 FPRINTF(stdout, "[%d/%d] ADIOI_TESTFS_ReadComplete called on %s\n",
00027 myrank, nprocs, (*request)->fd->filename);
00028
00029 #ifdef HAVE_STATUS_SET_BYTES
00030 MPIR_Status_set_bytes(status, (*request)->datatype, (*request)->nbytes);
00031 #endif
00032 (*request)->fd->async_count--;
00033 ADIOI_Free_request((ADIOI_Req_node *) (*request));
00034 *request = ADIO_REQUEST_NULL;
00035 }
00036
00037 void ADIOI_TESTFS_WriteComplete(ADIO_Request *request, ADIO_Status *status, int
00038 *error_code)
00039 {
00040 int myrank, nprocs;
00041
00042 *error_code = MPI_SUCCESS;
00043
00044 if (*request == ADIO_REQUEST_NULL) {
00045 FPRINTF(stdout, "[xx/xx] ADIOI_TESTFS_WriteComplete called on ADIO_REQUEST_NULL\n");
00046 return;
00047 }
00048
00049 MPI_Comm_size((*request)->fd->comm, &nprocs);
00050 MPI_Comm_rank((*request)->fd->comm, &myrank);
00051 FPRINTF(stdout, "[%d/%d] ADIOI_TESTFS_WriteComplete called on %s\n",
00052 myrank, nprocs, (*request)->fd->filename);
00053
00054 #ifdef HAVE_STATUS_SET_BYTES
00055 MPIR_Status_set_bytes(status, (*request)->datatype, (*request)->nbytes);
00056 #endif
00057 (*request)->fd->async_count--;
00058 ADIOI_Free_request((ADIOI_Req_node *) (*request));
00059 *request = ADIO_REQUEST_NULL;
00060 }