64 if (init_values !=
NULL){
70 *init_backend_options =
o;
74 {0,
"mmap.madv_pattern",
"Use advise to indicate the pattern random/sequential",
OPTION_FLAG,
'd', & o->
madv_pattern},
78 memcpy(help, h,
sizeof(h));
84 int flags = PROT_READ;
97 flags = POSIX_MADV_RANDOM;
99 flags = POSIX_MADV_SEQUENTIAL;
102 if (posix_madvise(o->
mmap_ptr, size, flags) != 0)
103 ERR(
"madvise() failed");
107 if (posix_madvise(o->
mmap_ptr, size, POSIX_MADV_DONTNEED) != 0)
108 ERR(
"madvise() failed");
123 ERR(
"ftruncate() failed");
147 if (access ==
WRITE) {
155 ERR(
"msync() failed");
157 POSIX_MADV_DONTNEED) != 0)
158 ERR(
"madvise() failed");
170 EWARN(
"msync() failed");
180 ERR(
"munmap failed");
void * POSIX_Open(char *testFileName, IOR_param_t *param)
static void ior_mmap_file(int *file, IOR_param_t *param)
static void * MMAP_Create(char *, IOR_param_t *)
static void MMAP_Fsync(void *, IOR_param_t *)
static option_help * MMAP_options(void **init_backend_options, void *init_values)
void * POSIX_Create(char *testFileName, IOR_param_t *param)
char * aiori_get_version()
void POSIX_Delete(char *testFileName, IOR_param_t *param)
IOR_offset_t expectedAggFileSize
static void MMAP_Close(void *, IOR_param_t *)
IOR_offset_t POSIX_GetFileSize(IOR_param_t *test, MPI_Comm testComm, char *testFileName)
static void * MMAP_Open(char *, IOR_param_t *)
static IOR_offset_t MMAP_Xfer(int, void *, IOR_size_t *, IOR_offset_t, IOR_param_t *)
void POSIX_Close(void *fd, IOR_param_t *param)
long long int IOR_offset_t
static struct cephfs_options o