5865: 22: amode = 0;
5865: 23: if (fd->access_mode & ADIO_CREATE)
1818: 24: amode = amode | O_CREAT;
5865: 25: if (fd->access_mode & ADIO_RDONLY)
35: 26: amode = amode | O_RDONLY;
5865: 27: if (fd->access_mode & ADIO_WRONLY)
7: 28: amode = amode | O_WRONLY;
5865: 29: if (fd->access_mode & ADIO_RDWR)
5823: 30: amode = amode | O_RDWR;
5865: 31: if (fd->access_mode & ADIO_EXCL)
2: 32: amode = amode | O_EXCL;
-: 33:
-: 34:
-: 35:#ifdef ADIOI_MPE_LOGGING
-: 36: MPE_Log_event( ADIOI_MPE_open_a, 0, NULL );
-: 37:#endif
5865: 38: fd->fd_sys = open(fd->filename, amode, perm);
-: 39:#ifdef ADIOI_MPE_LOGGING
-: 40: MPE_Log_event( ADIOI_MPE_open_b, 0, NULL );
-: 41:#endif
5865: 42: fd->fd_direct = -1;
-: 43:
5865: 44: if ((fd->fd_sys != -1) && (fd->access_mode & ADIO_APPEND)) {
-: 45:#ifdef ADIOI_MPE_LOGGING
-: 46: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL );
-: 47:#endif
|
-: 54: /* --BEGIN ERROR HANDLING-- */
5865: 55: if (fd->fd_sys == -1) {
25: 56: if (errno == ENAMETOOLONG)
#####: 57: *error_code = MPIO_Err_create_code(MPI_SUCCESS,
-: 58: MPIR_ERR_RECOVERABLE, myname,
-: 59: __LINE__, MPI_ERR_BAD_FILE,
-: 60: "**filenamelong",
-: 61: "**filenamelong %s %d",
-: 62: fd->filename,
-: 63: strlen(fd->filename));
25: 64: else if (errno == ENOENT)
24: 65: *error_code = MPIO_Err_create_code(MPI_SUCCESS,
-: 66: MPIR_ERR_RECOVERABLE, myname,
-: 67: __LINE__, MPI_ERR_NO_SUCH_FILE,
-: 68: "**filenoexist",
-: 69: "**filenoexist %s",
-: 70: fd->filename);
1: 71: else if (errno == ENOTDIR || errno == ELOOP)
#####: 72: *error_code = MPIO_Err_create_code(MPI_SUCCESS,
-: 73: MPIR_ERR_RECOVERABLE,
-: 74: myname, __LINE__,
-: 75: MPI_ERR_BAD_FILE,
-: 76: "**filenamedir",
-: 77: "**filenamedir %s",
-: 78: fd->filename);
1: 79: else if (errno == EACCES) {
#####: 80: *error_code = MPIO_Err_create_code(MPI_SUCCESS,
-: 81: MPIR_ERR_RECOVERABLE, myname,
-: 82: __LINE__, MPI_ERR_ACCESS,
-: 83: "**fileaccess",
-: 84: "**fileaccess %s",
-: 85: fd->filename );
-: 86: }
1: 87: else if (errno == EROFS) {
-: 88: /* Read only file or file system and write access requested */
#####: 89: *error_code = MPIO_Err_create_code(MPI_SUCCESS,
-: 90: MPIR_ERR_RECOVERABLE, myname,
-: 91: __LINE__, MPI_ERR_READ_ONLY,
-: 92: "**ioneedrd", 0 );
-: 93: }
-: 94: else {
1: 95: *error_code = MPIO_Err_create_code(MPI_SUCCESS,
-: 96: MPIR_ERR_RECOVERABLE, myname,
-: 97: __LINE__, MPI_ERR_IO, "**io",
-: 98: "**io %s", strerror(errno));
-: 99: }
-: 100: }
-: 101: /* --END ERROR HANDLING-- */
|