Message ID | 20230718085119.3885747-6-wangzhaolong1@huawei.com |
---|---|
State | Superseded |
Headers | show |
Series | ubi: Enhanced fault injection capability for the UBI driver | expand |
在 2023/7/18 16:51, ZhaoLong Wang 写道: > add mtd_read(), mtd_write(), mtd_erase(), mtd_block_markbad() to > fail_function list for testing purpose > It could be better if you can provide some examples for how to use these error injection interfaces. > Signed-off-by: ZhaoLong Wang <wangzhaolong1@huawei.com> > --- > drivers/mtd/mtdcore.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c > index e00b12aa5ec9..ecf1c5e68479 100644 > --- a/drivers/mtd/mtdcore.c > +++ b/drivers/mtd/mtdcore.c > @@ -30,6 +30,7 @@ > #include <linux/debugfs.h> > #include <linux/nvmem-provider.h> > #include <linux/root_dev.h> > +#include <linux/error-injection.h> > > #include <linux/mtd/mtd.h> > #include <linux/mtd/partitions.h> > @@ -1396,6 +1397,7 @@ int mtd_erase(struct mtd_info *mtd, struct erase_info *instr) > return ret; > } > EXPORT_SYMBOL_GPL(mtd_erase); > +ALLOW_ERROR_INJECTION(mtd_erase, ERRNO); > > /* > * This stuff for eXecute-In-Place. phys is optional and may be set to NULL. > @@ -1493,6 +1495,7 @@ int mtd_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, > return ret; > } > EXPORT_SYMBOL_GPL(mtd_read); > +ALLOW_ERROR_INJECTION(mtd_read, ERRNO); > > int mtd_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, > const u_char *buf) > @@ -1509,6 +1512,7 @@ int mtd_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, > return ret; > } > EXPORT_SYMBOL_GPL(mtd_write); > +ALLOW_ERROR_INJECTION(mtd_write, ERRNO); > > /* > * In blackbox flight recorder like scenarios we want to make successful writes > @@ -2329,7 +2333,7 @@ int mtd_block_markbad(struct mtd_info *mtd, loff_t ofs) > return 0; > } > EXPORT_SYMBOL_GPL(mtd_block_markbad); > - > +ALLOW_ERROR_INJECTION(mtd_block_markbad, ERRNO); > /* > * default_mtd_writev - the default writev method > * @mtd: mtd device description object pointer >
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index e00b12aa5ec9..ecf1c5e68479 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -30,6 +30,7 @@ #include <linux/debugfs.h> #include <linux/nvmem-provider.h> #include <linux/root_dev.h> +#include <linux/error-injection.h> #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> @@ -1396,6 +1397,7 @@ int mtd_erase(struct mtd_info *mtd, struct erase_info *instr) return ret; } EXPORT_SYMBOL_GPL(mtd_erase); +ALLOW_ERROR_INJECTION(mtd_erase, ERRNO); /* * This stuff for eXecute-In-Place. phys is optional and may be set to NULL. @@ -1493,6 +1495,7 @@ int mtd_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, return ret; } EXPORT_SYMBOL_GPL(mtd_read); +ALLOW_ERROR_INJECTION(mtd_read, ERRNO); int mtd_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) @@ -1509,6 +1512,7 @@ int mtd_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, return ret; } EXPORT_SYMBOL_GPL(mtd_write); +ALLOW_ERROR_INJECTION(mtd_write, ERRNO); /* * In blackbox flight recorder like scenarios we want to make successful writes @@ -2329,7 +2333,7 @@ int mtd_block_markbad(struct mtd_info *mtd, loff_t ofs) return 0; } EXPORT_SYMBOL_GPL(mtd_block_markbad); - +ALLOW_ERROR_INJECTION(mtd_block_markbad, ERRNO); /* * default_mtd_writev - the default writev method * @mtd: mtd device description object pointer
add mtd_read(), mtd_write(), mtd_erase(), mtd_block_markbad() to fail_function list for testing purpose Signed-off-by: ZhaoLong Wang <wangzhaolong1@huawei.com> --- drivers/mtd/mtdcore.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)