OpenMPI  0.1.1
fs_lustre.h
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-2011 University of Houston. All rights reserved.
13  * $COPYRIGHT$
14  *
15  * Additional copyrights may follow
16  *
17  * $HEADER$
18  */
19 
20 #ifndef MCA_FS_LUSTRE_H
21 #define MCA_FS_LUSTRE_H
22 
23 #include "ompi_config.h"
24 #include "opal/mca/mca.h"
25 #include "ompi/mca/fs/fs.h"
26 #include "ompi/mca/io/ompio/io_ompio.h"
27 
28 extern int mca_fs_lustre_priority;
29 extern int mca_fs_lustre_stripe_size;
30 extern int mca_fs_lustre_stripe_width;
31 
32 BEGIN_C_DECLS
33 
34 int mca_fs_lustre_component_init_query(bool enable_progress_threads,
35  bool enable_mpi_threads);
37 mca_fs_lustre_component_file_query (mca_io_ompio_file_t *fh, int *priority);
38 int mca_fs_lustre_component_file_unquery (mca_io_ompio_file_t *file);
39 
40 int mca_fs_lustre_module_init (mca_io_ompio_file_t *file);
41 int mca_fs_lustre_module_finalize (mca_io_ompio_file_t *file);
42 
43 OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_lustre_component;
44 /*
45  * ******************************************************************
46  * ********* functions which are implemented in this module *********
47  * ******************************************************************
48  */
49 
50 int mca_fs_lustre_file_open (struct ompi_communicator_t *comm,
51  char *filename,
52  int amode,
53  struct ompi_info_t *info,
55 
56 int mca_fs_lustre_file_close (mca_io_ompio_file_t *fh);
57 
58 int mca_fs_lustre_file_delete (char *filename,
59  struct ompi_info_t *info);
60 
61 int mca_fs_lustre_file_set_size (mca_io_ompio_file_t *fh,
62  OMPI_MPI_OFFSET_TYPE size);
63 
64 int mca_fs_lustre_file_get_size (mca_io_ompio_file_t *fh,
65  OMPI_MPI_OFFSET_TYPE *size);
66 
67 int mca_fs_lustre_file_set_info (mca_io_ompio_file_t *fh,
68  struct ompi_info_t *info);
69 
70 int mca_fs_lustre_file_sync (mca_io_ompio_file_t *fh);
71 
72 int mca_fs_lustre_file_seek (mca_io_ompio_file_t *fh,
73  OMPI_MPI_OFFSET_TYPE offset,
74  int whence);
75 /*
76  * ******************************************************************
77  * ************ functions implemented in this module end ************
78  * ******************************************************************
79  */
80 
81 END_C_DECLS
82 
83 #endif /* MCA_FS_LUSTRE_H */
Top-level interface for all MCA components.
Definition: info.h:38
Definition: fs.h:127
Back-end structure for MPI_File.
Definition: io_ompio.h:121
Definition: communicator.h:118