Spdk/module/bdev
Shuhei Matsumoto 3d2a3ee4df bdev/error: Support injecting data corruption into I/O buffer
Support injecting data corruption for processing read/write I/O.

Add two parameters, corrupt_offset and corrupt_value, and an error
type corrupt_data.

For write I/O, inject data corruption before submitting write I/O
to the underlying bdev. For read I/O, inject data corruption after
read I/O successfully returned.

Cause the data corruption by xoring the value at the corrupt_offset
with the corrupt_value. corrupt_value is required to be non-zero to
cause data corruption necessarily.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I67d8d252b06d7a221413e74996f7f894e6519556
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15028
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
2022-11-08 08:21:22 +00:00
..
aio bdev/aio: implement read-only 2022-10-21 07:18:15 +00:00
compress bdev/compress: make lb_size optional in bdev_compress_create 2022-07-04 07:23:26 +00:00
crypto util: made hexlify and unhexlify functions public 2022-09-06 07:17:13 +00:00
daos bdev/daos: early bdev creation failure detection 2022-11-02 10:50:35 +00:00
delay bdev/delay: Use ext bdev API 2022-11-03 14:54:41 +00:00
error bdev/error: Support injecting data corruption into I/O buffer 2022-11-08 08:21:22 +00:00
ftl ftl: check structure sizes for future ABI compatibility 2022-09-20 19:24:26 +00:00
gpt check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
iscsi bdev_iscsi: add bdev iscsi config json 2022-10-17 12:37:36 +00:00
lvol bdev: send bdev reset based on outstanding IO and a new timeout parameter 2022-09-22 19:18:30 +00:00
malloc bdev/malloc: Add copy IO type support 2022-11-02 10:33:00 +00:00
null Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme bdev_nvme: Return memory domains of each controller 2022-11-03 14:54:41 +00:00
ocf check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
passthru bdev/passthru: Use ext bdev API 2022-11-03 14:54:41 +00:00
pmem Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
raid module/raid: fix async module stopping 2022-09-29 22:52:45 +00:00
rbd bdev/rbd: return a error value(-1) when create RBD bdev on non 2022-09-13 07:28:57 +00:00
split check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
uring bdev/uring: Proper handling for conventional zones 2022-09-27 19:40:44 +00:00
virtio virtio/vfio_user: add virtio_scsi device support 2022-09-29 19:42:56 +00:00
xnvme bdev_xnvme: free bdev_xnvme structure after device is fully unregistered 2022-09-28 06:47:35 +00:00
zone_block bdev/zone: Call bdev*_with_md even if md is NULL 2022-11-03 14:54:41 +00:00
Makefile bdev/daos: introduction of daos bdev 2022-08-23 07:15:13 +00:00