1 #ifndef FIO_TD_ERROR_H
2 #define FIO_TD_ERROR_H
3 
4 #include "io_ddir.h"
5 
6 /*
7  * What type of errors to continue on when continue_on_error is used,
8  * and what type of errors to ignore when ignore_error is used.
9  */
10 enum error_type_bit {
11 	ERROR_TYPE_READ_BIT = 0,
12 	ERROR_TYPE_WRITE_BIT = 1,
13 	ERROR_TYPE_VERIFY_BIT = 2,
14 	ERROR_TYPE_CNT = 3,
15 };
16 
17 enum error_type {
18         ERROR_TYPE_NONE = 0,
19         ERROR_TYPE_READ = 1 << ERROR_TYPE_READ_BIT,
20         ERROR_TYPE_WRITE = 1 << ERROR_TYPE_WRITE_BIT,
21         ERROR_TYPE_VERIFY = 1 << ERROR_TYPE_VERIFY_BIT,
22         ERROR_TYPE_ANY = 0xffff,
23 };
24 
25 enum error_type_bit td_error_type(enum fio_ddir ddir, int err);
26 int td_non_fatal_error(struct thread_data *td, enum error_type_bit etype,
27 		       int err);
28 void update_error_count(struct thread_data *td, int err);
29 
30 #endif
31