root/ompi/mca/fs/lustre/fs_lustre.h

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

INCLUDED FROM


   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-2006 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-2017 University of Houston. All rights reserved.
  13  * Copyright (c) 2015-2018 Research Organization for Information Science
  14  *                         and Technology (RIST). All rights reserved.
  15  * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
  16  * $COPYRIGHT$
  17  *
  18  * Additional copyrights may follow
  19  *
  20  * $HEADER$
  21  */
  22 
  23 #ifndef MCA_FS_LUSTRE_H
  24 #define MCA_FS_LUSTRE_H
  25 
  26 #include "ompi_config.h"
  27 #include "ompi/mca/mca.h"
  28 #include "ompi/mca/fs/fs.h"
  29 #include "ompi/mca/common/ompio/common_ompio.h"
  30 
  31 extern int mca_fs_lustre_priority;
  32 extern int mca_fs_lustre_stripe_size;
  33 extern int mca_fs_lustre_stripe_width;
  34 
  35 BEGIN_C_DECLS
  36 
  37 #include <lustre/lustreapi.h>
  38 #include <lustre/lustre_user.h>
  39 
  40 #ifndef LOV_MAX_STRIPE_COUNT
  41 #define LOV_MAX_STRIPE_COUNT 160
  42 #endif
  43 
  44 
  45 int mca_fs_lustre_component_init_query(bool enable_progress_threads,
  46                                         bool enable_mpi_threads);
  47 struct mca_fs_base_module_1_0_0_t *
  48 mca_fs_lustre_component_file_query (ompio_file_t *fh, int *priority);
  49 int mca_fs_lustre_component_file_unquery (ompio_file_t *file);
  50 
  51 int mca_fs_lustre_module_init (ompio_file_t *file);
  52 int mca_fs_lustre_module_finalize (ompio_file_t *file);
  53 
  54 OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_lustre_component;
  55 /*
  56  * ******************************************************************
  57  * ********* functions which are implemented in this module *********
  58  * ******************************************************************
  59  */
  60 
  61 int mca_fs_lustre_file_open (struct ompi_communicator_t *comm,
  62                              const char *filename,
  63                              int amode,
  64                              struct opal_info_t *info,
  65                              ompio_file_t *fh);
  66 
  67 int mca_fs_lustre_file_close (ompio_file_t *fh);
  68 
  69 int mca_fs_lustre_file_delete (char *filename,
  70                                struct opal_info_t *info);
  71 
  72 int mca_fs_lustre_file_set_size (ompio_file_t *fh,
  73                                  OMPI_MPI_OFFSET_TYPE size);
  74 
  75 int mca_fs_lustre_file_get_size (ompio_file_t *fh,
  76                                  OMPI_MPI_OFFSET_TYPE *size);
  77 
  78 int mca_fs_lustre_file_sync (ompio_file_t *fh);
  79 
  80 int mca_fs_lustre_file_seek (ompio_file_t *fh,
  81                              OMPI_MPI_OFFSET_TYPE offset,
  82                              int whence);
  83 /*
  84  * ******************************************************************
  85  * ************ functions implemented in this module end ************
  86  * ******************************************************************
  87  */
  88 
  89 END_C_DECLS
  90 
  91 #endif /* MCA_FS_LUSTRE_H */

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