f2fs: support discard submission error injection
This patch adds to support discard submission error injection for testing error handling of __submit_discard_cmd(). Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
7f67de2a4c
commit
783a75765a
3 changed files with 10 additions and 0 deletions
|
@ -58,6 +58,7 @@ enum {
|
|||
FAULT_TRUNCATE,
|
||||
FAULT_IO,
|
||||
FAULT_CHECKPOINT,
|
||||
FAULT_DISCARD,
|
||||
FAULT_MAX,
|
||||
};
|
||||
|
||||
|
|
|
@ -1122,10 +1122,18 @@ static void __submit_discard_cmd(struct f2fs_sb_info *sbi,
|
|||
|
||||
dc->len += len;
|
||||
|
||||
#ifdef CONFIG_F2FS_FAULT_INJECTION
|
||||
if (time_to_inject(sbi, FAULT_DISCARD)) {
|
||||
f2fs_show_injection_info(FAULT_DISCARD);
|
||||
err = -EIO;
|
||||
goto submit;
|
||||
}
|
||||
#endif
|
||||
err = __blkdev_issue_discard(bdev,
|
||||
SECTOR_FROM_BLOCK(start),
|
||||
SECTOR_FROM_BLOCK(len),
|
||||
GFP_NOFS, 0, &bio);
|
||||
submit:
|
||||
if (!err && bio) {
|
||||
/*
|
||||
* should keep before submission to avoid D_DONE
|
||||
|
|
|
@ -55,6 +55,7 @@ char *f2fs_fault_name[FAULT_MAX] = {
|
|||
[FAULT_TRUNCATE] = "truncate fail",
|
||||
[FAULT_IO] = "IO error",
|
||||
[FAULT_CHECKPOINT] = "checkpoint error",
|
||||
[FAULT_DISCARD] = "discard error",
|
||||
};
|
||||
|
||||
void f2fs_build_fault_attr(struct f2fs_sb_info *sbi, unsigned int rate)
|
||||
|
|
Loading…
Add table
Reference in a new issue