1 #ifndef FIO_TRIM_H
2 #define FIO_TRIM_H
3 
4 #include "fio.h"
5 
6 #ifdef FIO_HAVE_TRIM
7 extern bool __must_check get_next_trim(struct thread_data *td, struct io_u *io_u);
8 extern bool 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 bool get_next_trim(struct thread_data *td, struct io_u *io_u)
24 {
25 	return false;
26 }
io_u_should_trim(struct thread_data * td,struct io_u * io_u)27 static inline bool io_u_should_trim(struct thread_data *td, struct io_u *io_u)
28 {
29 	return false;
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