[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231020064803.643399-1-wangzhaolong1@huawei.com>
Date: Fri, 20 Oct 2023 14:47:58 +0800
From: ZhaoLong Wang <wangzhaolong1@...wei.com>
To: <miquel.raynal@...tlin.com>, <richard@....at>, <vigneshr@...com>
CC: <linux-mtd@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
<chengzhihao1@...wei.com>, <wangzhaolong1@...wei.com>,
<yi.zhang@...wei.com>, <yangerkun@...wei.com>
Subject: [PATCH v3 0/5] ubi: Enhanced fault injection capability for the UBI driver
The existing fault injection capability of UBI is too simple.
It uses hard-coded fault probability values and lacks other
configurable options. As a result, these interfaces are difficult
to use when digging defects in the abnormal path of code and
reproducing some problems.
The kernel provides a powerful fault injection framework, which
provides rich configurable fault injection attributes during runtime.
So it can be used to improve the fault injection capability of the
UBI driver.
This series of patches refactor the existing fault injection interface
and add some fault injection types to help testers and developers
find potential problems in the code.
This series of patches enhance the existing fault injection interface
and retain the old debugfs interface, and add some fault injection types
to help testers and developers Look for potential problems in the code.
V2:
- Retain the old fault injection interface.
v3:
1. Corrects the initialization of the error mask, which should start at 1.
2. Change the read format of the mask value to readable hexadecimal.
3. The interface definition style is consistent when the new interface is added.
4. Redundant CONFIG_MTD_UBI_FAULT_INJECTION macro are removed.
5. Correct the fault injection hook position error: ubi_io_read_data -> ubi_io_write_data.
6. UBI_IO_BITFLIPS is returned in ubi_io_read() in advance to prevent the
return value from being overwritten.
7. In the last commit, example of the use of fail_function is given.
ZhaoLong Wang (5):
ubi: Use the fault injection framework to enhance the fault injection
capability
ubi: Split io_failures into write_failure and erase_failure
ubi: Add six fault injection type for testing
ubi: Reserve sufficient buffer length for the input mask
mtd: Add several functions to the fail_function list
drivers/mtd/mtdcore.c | 5 +
drivers/mtd/ubi/Kconfig | 9 ++
drivers/mtd/ubi/debug.c | 107 ++++++++++++--
drivers/mtd/ubi/debug.h | 304 +++++++++++++++++++++++++++++++++++++---
drivers/mtd/ubi/io.c | 86 +++++++++++-
drivers/mtd/ubi/ubi.h | 45 +++---
6 files changed, 497 insertions(+), 59 deletions(-)
--
2.31.1
Powered by blists - more mailing lists