1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
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
86
87
88
89 END_C_DECLS
90
91 #endif