[PATCH v3 2/3] mmc: core: add random fault injection
From: Per Forlin <hidden>
Date: 2011-07-26 20:08:29
Also in:
linux-mmc, lkml
On 25 July 2011 17:58, Akinobu Mita [off-list ref] wrote:
2011/7/21 Per Forlin [off-list ref]:quoted
This adds support to inject data errors after a completed host transfer. The mmc core will return error even though the host transfer is successful. This simple fault injection proved to be very useful to test the non-blocking error handling in the mmc_blk_issue_rw_rq(). Random faults can also test how the host driver handles pre_req() and post_req() in case of errors.Looks good to me.quoted
@@ -82,6 +87,66 @@ static void mmc_flush_scheduled_work(void)? ? ? ?flush_workqueue(workqueue); ?} +#ifdef CONFIG_FAIL_MMC_REQUEST + +static DECLARE_FAULT_ATTR(fail_mmc_request);I think the fail_attr should be defined for each mmc_host like make_it_fail in struct mmc_host and debugfs entries should also be created in a subdirectory of mmc host debugfs. And I know that init_fault_attr_dentries() can only create a subdirectory in debugfs root directory. ?But I have a patch which support for creating it in arbitrary directory. ?Could you take a look at this? (Note that this patch is based on mmotm and not yet tested)
I tested your patch on a Snowball board. I had two active mmc cards and did various fault injection configurations on the two cards together with dd. I did only test MMC IO fault injection and not any of the other fault injection clients. Tested-by: Per Forlin <redacted> Regards, Per