Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | .. SPDX-License-Identifier: GPL-2.0 ============================ Configurable Error Injection ============================ Overview -------- Configurable error injection allows injecting specific block layer status codes for sector ranges of a block device. Errors can be injected unconditionally, or with a given probability. To use configurable error injection, CONFIG_BLK_ERROR_INJECTION must be enabled. The only interface is the error_injection debugfs file, which is created for each registered gendisk. Writes to this file are used to create or delete rules and reads return a list of the current error injection sites. Options ------- The following options specify the operations: =================== ======================================================= add add a new rule removeall remove all existing rules =================== ======================================================= The following options specify the details of the rule for the add operation: =================== ======================================================= op=<string> block layer operation this rule applies to. This uses the XYZ for each REQ_OP_XYZ operation, e.g. READ, WRITE or DISCARD. Mandatory. status=<string> Status to return. This uses XYZ for each BLK_STS_XYZ code, e.g. IOERR or MEDIUM. Mandatory. start=<number> First block layer sector the rule applies to. Optional, defaults to 0. nr_sectors=<number> Number of sectors this rule applies. Optional, defaults to the remainder of the device. chance=<number> Only return a failure with a likelihood of 1/chance. Optional, defaults to 1 (always). =================== ======================================================= Example ------- Return BLK_STS_IOERR for one in 10 reads of sector 0 of /dev/nvme0n1: $ echo 'add,op=READ,start=0,status=IOERR,chance=10' > /sys/kernel/debug/block/nvme0n1/error_injection Return BLK_STS_MEDIUM for every write to /dev/nvme0n1: $ echo 'add,op=WRITE,start=0,status=MEDIUM' > /sys/kernel/debug/block/nvme0n1/error_injection Remove all rules for /dev/nvme0n1: $ echo 'removeall' > /sys/kernel/debug/block/nvme0n1/error_injection |