Lines Matching refs:inj
28 struct blk_error_inject *inj; in __blk_error_inject() local
31 list_for_each_entry_rcu(inj, &disk->error_injection_list, entry) { in __blk_error_inject()
32 if (bio_op(bio) != inj->op) in __blk_error_inject()
42 if (bio->bi_iter.bi_sector > inj->end || in __blk_error_inject()
43 bio_end_sector(bio) <= inj->start) in __blk_error_inject()
45 if (inj->chance > 1 && (get_random_u32() % inj->chance) != 0) in __blk_error_inject()
49 disk->part0, blk_status_to_str(inj->status), in __blk_error_inject()
50 blk_op_str(inj->op), bio->bi_iter.bi_sector, in __blk_error_inject()
52 bio->bi_status = inj->status; in __blk_error_inject()
65 struct blk_error_inject *inj; in error_inject_add() local
73 inj = kzalloc_obj(*inj); in error_inject_add()
74 if (!inj) in error_inject_add()
80 inj->end = start + nr_sectors - 1; in error_inject_add()
82 inj->end = U64_MAX; in error_inject_add()
85 inj->op = op; in error_inject_add()
86 inj->start = start; in error_inject_add()
87 inj->status = status; in error_inject_add()
88 inj->chance = chance; in error_inject_add()
108 list_add_rcu(&inj->entry, &disk->error_injection_list); in error_inject_add()
114 kfree(inj); in error_inject_add()
120 struct blk_error_inject *inj; in error_inject_removeall() local
125 while ((inj = list_first_entry_or_null(&disk->error_injection_list, in error_inject_removeall()
127 list_del_rcu(&inj->entry); in error_inject_removeall()
128 kfree_rcu_mightsleep(inj); in error_inject_removeall()
275 struct blk_error_inject *inj; in blk_error_injection_show() local
278 list_for_each_entry_rcu(inj, &disk->error_injection_list, entry) { in blk_error_injection_show()
280 inj->start, inj->end, in blk_error_injection_show()
281 blk_op_str(inj->op), in blk_error_injection_show()
282 blk_status_to_tag(inj->status), inj->chance); in blk_error_injection_show()