Home | History | Annotate | Download | only in fio
      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  */
     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
     23 static inline int get_next_trim(struct thread_data *td, struct io_u *io_u)
     24 {
     25 	return 1;
     26 }
     27 static inline int io_u_should_trim(struct thread_data *td, struct io_u *io_u)
     28 {
     29 	return 0;
     30 }
     31 static inline void remove_trim_entry(struct thread_data *td, struct io_piece *ipo)
     32 {
     33 }
     34 #endif
     35 
     36 #endif
     37