root/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_fcntl.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ADIOI_PVFS2_Fcntl

   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
   2 /* 
   3  *
   4  *   Copyright (C) 1997 University of Chicago. 
   5  *   See COPYRIGHT notice in top-level directory.
   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             /* --BEGIN ERROR HANDLING-- */
  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             /* --END ERROR HANDLING-- */
  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     /* --BEGIN ERROR HANDLING-- */
  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     /* --END ERROR HANDLING-- */
  54     }
  55 }
  56 
  57 /* 
  58  * vim: ts=8 sts=4 sw=4 noexpandtab 
  59  */

/* [<][>][^][v][top][bottom][index][help] */