fio: create over-arching data placement option
[fio.git] / dataplacement.h
CommitLineData
c60d54ae
VF
1#ifndef FIO_DATAPLACEMENT_H
2#define FIO_DATAPLACEMENT_H
a7e8aae0
KB
3
4#include "io_u.h"
5
98cd3c0e
AK
6#define FDP_DIR_DTYPE 2
7#define FDP_MAX_RUHS 128
65ca6791 8#define FIO_MAX_DP_IDS 16
98cd3c0e 9
d3e310c5
AK
10/*
11 * How fio chooses what placement identifier to use next. Choice of
12 * uniformly random, or roundrobin.
13 */
65ca6791
VF
14enum {
15 FIO_DP_RANDOM = 0x1,
16 FIO_DP_RR = 0x2,
17};
18
d3e310c5
AK
19
20enum {
65ca6791
VF
21 FIO_DP_NONE = 0x0,
22 FIO_DP_FDP = 0x1,
23 FIO_DP_STREAMS = 0x2,
d3e310c5
AK
24};
25
a7e8aae0
KB
26struct fio_ruhs_info {
27 uint32_t nr_ruhs;
28 uint32_t pli_loc;
29 uint16_t plis[];
30};
31
c60d54ae 32int dp_init(struct thread_data *td);
a7e8aae0 33void fdp_free_ruhs_info(struct fio_file *f);
c60d54ae 34void dp_fill_dspec_data(struct thread_data *td, struct io_u *io_u);
a7e8aae0 35
c60d54ae 36#endif /* FIO_DATAPLACEMENT_H */