root/ompi/mca/fs/base/fs_base_file_set_size.c

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

DEFINITIONS

This source file includes following definitions.
  1. mca_fs_base_file_set_size

   1 /*
   2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2017 The University of Tennessee and The University
   6  *                         of Tennessee Research Foundation.  All rights
   7  *                         reserved.
   8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   9  *                         University of Stuttgart.  All rights reserved.
  10  * Copyright (c) 2004-2005 The Regents of the University of California.
  11  *                         All rights reserved.
  12  * Copyright (c) 2008-2018 University of Houston. All rights reserved.
  13  * Copyright (c) 2018      Research Organization for Information Science
  14  *                         and Technology (RIST). All rights reserved.
  15  * $COPYRIGHT$
  16  *
  17  * Additional copyrights may follow
  18  *
  19  * $HEADER$
  20  */
  21 
  22 
  23 #include "ompi_config.h"
  24 #include "base.h"
  25 
  26 #include "mpi.h"
  27 #include "ompi/constants.h"
  28 #include "ompi/mca/fs/fs.h"
  29 
  30 #include <unistd.h>
  31 
  32 /*
  33  *      file_set_size_ufs
  34  *
  35  *      Function:       - set_size of a file
  36  *      Accepts:        - same arguments as MPI_File_set_size()
  37  *      Returns:        - Success if size is set
  38  */
  39 int mca_fs_base_file_set_size (ompio_file_t *fh,
  40                           OMPI_MPI_OFFSET_TYPE size)
  41 {
  42     int err = 0;
  43 
  44     err = ftruncate(fh->fd, size);
  45 
  46     fh->f_comm->c_coll->coll_bcast (&err,
  47                                    1,
  48                                    MPI_INT,
  49                                    OMPIO_ROOT,
  50                                    fh->f_comm,
  51                                    fh->f_comm->c_coll->coll_bcast_module);
  52     if (-1 == err) {
  53         return OMPI_ERROR;
  54     }
  55     return OMPI_SUCCESS;
  56 }

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