| #ifndef DM_VERITY_DEBUG_H |
| #define DM_VERITY_DEBUG_H |
| |
| #include "dm-verity.h" |
| /* |
| * If not use debug mode |
| * Please Command the Define(SEC_HEX_DEBUG) below |
| */ |
| #define SEC_HEX_DEBUG |
| |
| #ifdef SEC_HEX_DEBUG |
| #define MAX_FC_BLKS_LIST 128 |
| #define MAX_DEV_NAME 16 |
| #define MAX_DEV_LIST 10 |
| #define FOR_SAFE 20 |
| |
| struct blks_info{ |
| /* blks cnt info */ |
| atomic64_t total_blks; |
| atomic64_t skipped_blks; |
| atomic64_t fec_correct_blks; |
| atomic64_t corrupted_blks; |
| atomic64_t prev_total_blks; |
| |
| /* fec corrected blocks list */ |
| sector_t fc_blks_list[MAX_FC_BLKS_LIST + FOR_SAFE]; |
| char dev_name[MAX_FC_BLKS_LIST + FOR_SAFE][MAX_DEV_NAME]; |
| char fec_off_list[MAX_DEV_LIST][MAX_DEV_NAME]; |
| char dmv_ctr_list[MAX_DEV_LIST][MAX_DEV_NAME]; |
| /* The "list_idx" value is the location of the new correct_blk to be entered for fc_blks_list []. */ |
| int list_idx; |
| atomic_t fec_off_cnt; |
| atomic_t dmv_ctr_cnt; |
| }; |
| extern struct blks_info *b_info; |
| extern int ignore_fs_panic; |
| |
| extern int verity_handle_err_hex_debug(struct dm_verity *v, enum verity_block_type type, |
| unsigned long long block, struct dm_verity_io *io, struct bvec_iter *iter); |
| |
| |
| extern void free_b_info(void); |
| extern void print_blks_cnt(char* dev_name); |
| extern int empty_b_info(void); |
| |
| /* get */ |
| extern long long get_total_blks(void); |
| extern long long get_skipped_blks(void); |
| extern long long get_fec_correct_blks(void); |
| extern long long get_corrupted_blks(void); |
| extern long long get_prev_total_blks(void); |
| extern int get_fec_off_cnt(void); |
| extern int get_dmv_ctr_cnt(void); |
| extern struct blks_info * get_b_info(char* dev_name); |
| /* set */ |
| extern void set_prev_total_blks(long long val); |
| /* add */ |
| extern void add_total_blks(long long val); |
| extern void add_skipped_blks(void); |
| extern void add_fec_correct_blks(void); |
| extern void add_corrupted_blks(void); |
| extern void add_fc_blks_entry(sector_t cur_blk, char* dev_name); |
| extern void add_fec_off_cnt(char* dev_name); |
| |
| #endif |
| |
| #endif |