Commit | Line | Data |
---|---|---|
d6aed795 JA |
1 | #ifndef FIO_DDIR_H |
2 | #define FIO_DDIR_H | |
3 | ||
4 | enum fio_ddir { | |
5 | DDIR_READ = 0, | |
6 | DDIR_WRITE, | |
7 | DDIR_SYNC, | |
5f9099ea | 8 | DDIR_DATASYNC, |
44f29692 | 9 | DDIR_SYNC_FILE_RANGE, |
457bf399 | 10 | DDIR_WAIT, |
a5f3027c | 11 | DDIR_TRIM, |
d6aed795 JA |
12 | DDIR_INVAL = -1, |
13 | }; | |
14 | ||
15 | enum td_ddir { | |
16 | TD_DDIR_READ = 1 << 0, | |
17 | TD_DDIR_WRITE = 1 << 1, | |
18 | TD_DDIR_RAND = 1 << 2, | |
19 | TD_DDIR_RW = TD_DDIR_READ | TD_DDIR_WRITE, | |
20 | TD_DDIR_RANDREAD = TD_DDIR_READ | TD_DDIR_RAND, | |
21 | TD_DDIR_RANDWRITE = TD_DDIR_WRITE | TD_DDIR_RAND, | |
22 | TD_DDIR_RANDRW = TD_DDIR_RW | TD_DDIR_RAND, | |
23 | }; | |
24 | ||
29c8e868 JA |
25 | #define td_read(td) ((td)->o.td_ddir & TD_DDIR_READ) |
26 | #define td_write(td) ((td)->o.td_ddir & TD_DDIR_WRITE) | |
27 | #define td_rw(td) (((td)->o.td_ddir & TD_DDIR_RW) == TD_DDIR_RW) | |
28 | #define td_random(td) ((td)->o.td_ddir & TD_DDIR_RAND) | |
29 | #define file_randommap(td, f) (!(td)->o.norandommap && (f)->file_map) | |
30 | ||
5f9099ea JA |
31 | static inline int ddir_sync(enum fio_ddir ddir) |
32 | { | |
44f29692 JA |
33 | return ddir == DDIR_SYNC || ddir == DDIR_DATASYNC || |
34 | ddir == DDIR_SYNC_FILE_RANGE; | |
5f9099ea JA |
35 | } |
36 | ||
ff58fced JA |
37 | static inline int ddir_rw(enum fio_ddir ddir) |
38 | { | |
39 | return ddir == DDIR_READ || ddir == DDIR_WRITE; | |
40 | } | |
41 | ||
d6aed795 | 42 | #endif |