This source file includes following definitions.
- ADIOI_PVFS2_Fcntl
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 #include "ad_pvfs2.h"
   9 #include "adio_extern.h"
  10 #include "ad_pvfs2_common.h"
  11 
  12 void ADIOI_PVFS2_Fcntl(ADIO_File fd, int flag, ADIO_Fcntl_t *fcntl_struct,
  13                        int *error_code)
  14 {
  15     int ret;
  16     ADIOI_PVFS2_fs *pvfs_fs;
  17     PVFS_sysresp_getattr resp_getattr;
  18     static char myname[] = "ADIOI_PVFS2_FCNTL";
  19 
  20     pvfs_fs = (ADIOI_PVFS2_fs*)fd->fs_ptr;
  21 
  22     switch(flag) {
  23     case ADIO_FCNTL_GET_FSIZE:
  24         ret = PVFS_sys_getattr(pvfs_fs->object_ref, PVFS_ATTR_SYS_SIZE, 
  25                 &(pvfs_fs->credentials), &resp_getattr);
  26         if (ret != 0 ) {
  27             
  28             *error_code = MPIO_Err_create_code(MPI_SUCCESS,
  29                                                MPIR_ERR_RECOVERABLE,
  30                                                myname, __LINE__,
  31                                                ADIOI_PVFS2_error_convert(ret),
  32                                                "Error in PVFS_sys_getattr", 0);
  33             
  34         }
  35         else {
  36             *error_code = MPI_SUCCESS;
  37         }
  38         fcntl_struct->fsize = resp_getattr.attr.size;
  39         return;
  40 
  41     case ADIO_FCNTL_SET_DISKSPACE:
  42         ADIOI_GEN_Prealloc(fd, fcntl_struct->diskspace, error_code);
  43         break;
  44 
  45     
  46     case ADIO_FCNTL_SET_ATOMICITY:
  47     default:
  48         *error_code = MPIO_Err_create_code(MPI_SUCCESS,
  49                                            MPIR_ERR_RECOVERABLE,
  50                                            myname, __LINE__,
  51                                            MPI_ERR_ARG,
  52                                            "**flag", "**flag %d", flag);
  53     
  54     }
  55 }
  56 
  57 
  58 
  59