1 #ifndef FIO_TRIM_H
2 #define FIO_TRIM_H
3
4 #include "fio.h"
5
6 #ifdef FIO_HAVE_TRIM
7 extern int __must_check get_next_trim(struct thread_data *td, struct io_u *io_u);
8 extern int io_u_should_trim(struct thread_data *td, struct io_u *io_u);
9
10 /*
11 * Determine whether a given io_u should be logged for verify or
12 * for discard
13 */
remove_trim_entry(struct thread_data * td,struct io_piece * ipo)14 static inline void remove_trim_entry(struct thread_data *td, struct io_piece *ipo)
15 {
16 if (!flist_empty(&ipo->trim_list)) {
17 flist_del_init(&ipo->trim_list);
18 td->trim_entries--;
19 }
20 }
21
22 #else
get_next_trim(struct thread_data * td,struct io_u * io_u)23 static inline int get_next_trim(struct thread_data *td, struct io_u *io_u)
24 {
25 return 1;
26 }
io_u_should_trim(struct thread_data * td,struct io_u * io_u)27 static inline int io_u_should_trim(struct thread_data *td, struct io_u *io_u)
28 {
29 return 0;
30 }
remove_trim_entry(struct thread_data * td,struct io_piece * ipo)31 static inline void remove_trim_entry(struct thread_data *td, struct io_piece *ipo)
32 {
33 }
34 #endif
35
36 #endif
37