f2fs: add fault injection on f2fs_truncate
Subsystems (2)
Jaegeuk Kim
maintainerPATCH 1/1 f2fs: add fault injection on f2fs_truncate
Inject a fault during f2fs_truncate().
Signed-off-by Chao Yu <[email protected]>
Signed-off-by Jaegeuk Kim <[email protected]>
--- fs/f2fs/f2fs.h | 1 + fs/f2fs/file.c | 6 ++++++ 2 files changed, 7 insertions(+)
fs/f2fs/f2fs.h +1 -0
@@ -50,6 +50,7 @@ enum {FAULT_BLOCK ,FAULT_DIR_DEPTH ,FAULT_EVICT_INODE , +FAULT_TRUNCATE ,FAULT_IO ,FAULT_CHECKPOINT , FAULT_MAX,
fs/f2fs/file.c +6 -0
@@ -620,6 +620,12 @@ int f2fs_truncate(struct inode *inode)trace_f2fs_truncate (inode); +#ifdef CONFIG_F2FS_FAULT_INJECTION +if (time_to_inject (F2FS_I_SB (inode),FAULT_TRUNCATE )) { +f2fs_show_injection_info (FAULT_TRUNCATE ); +return -EIO ; + } +#endif /* we should check inline_data size */ if (!f2fs_may_inline_data (inode)) { err =f2fs_convert_inline_inode (inode);
Signature · 1 line
2.11.0
Hi Jaegeuk,
At a glance, it needs to add one more entry in fault_name as well. :)
Thanks,
Quoted 39 lines · Jaegeuk Kim
Inject a fault during
f2fs_truncate().Signed-off-by Chao Yu <[email protected]>Signed-off-by Jaegeuk Kim <[email protected]>--- fs/f2fs/f2fs.h | 1 + fs/f2fs/file.c | 6 ++++++ 2 files changed, 7 insertions(+)fs/f2fs/f2fs.h +1
-0@@ -50,6 +50,7 @@ enum {FAULT_BLOCK ,FAULT_DIR_DEPTH ,FAULT_EVICT_INODE , +FAULT_TRUNCATE ,FAULT_IO ,FAULT_CHECKPOINT , FAULT_MAX,fs/f2fs/file.c +6
-0@@ -620,6 +620,12 @@ int f2fs_truncate(struct inode *inode)trace_f2fs_truncate (inode); +#ifdef CONFIG_F2FS_FAULT_INJECTION +if (time_to_inject (F2FS_I_SB (inode),FAULT_TRUNCATE )) { +f2fs_show_injection_info (FAULT_TRUNCATE ); +return -EIO ; + } +#endif /* we should check inline_data size */ if (!f2fs_may_inline_data (inode)) { err =f2fs_convert_inline_inode (inode);
Jaegeuk Kim
maintainerChange log from v1:
- add missing fault name
Quoted 1 line
From
be7652ae901bfda478a2915abcec5dd1e2f4b823Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim <[email protected]>
Date: Thu, 9 Mar 2017 15:24:24 -0800
Subject: [PATCH] f2fs: add fault injection on f2fs_truncate
Inject a fault during f2fs_truncate().
Signed-off-by Chao Yu <[email protected]>
Signed-off-by Jaegeuk Kim <[email protected]>
--- fs/f2fs/f2fs.h | 1 + fs/f2fs/file.c | 6 ++++++ fs/f2fs/super.c | 1 + 3 files changed, 8 insertions(+)
fs/f2fs/f2fs.h +1 -0
@@ -50,6 +50,7 @@ enum {FAULT_BLOCK ,FAULT_DIR_DEPTH ,FAULT_EVICT_INODE , +FAULT_TRUNCATE ,FAULT_IO ,FAULT_CHECKPOINT , FAULT_MAX,
fs/f2fs/file.c +6 -0
@@ -620,6 +620,12 @@ int f2fs_truncate(struct inode *inode)trace_f2fs_truncate (inode); +#ifdef CONFIG_F2FS_FAULT_INJECTION +if (time_to_inject (F2FS_I_SB (inode),FAULT_TRUNCATE )) { +f2fs_show_injection_info (FAULT_TRUNCATE ); +return -EIO ; + } +#endif /* we should check inline_data size */ if (!f2fs_may_inline_data (inode)) { err =f2fs_convert_inline_inode (inode);
fs/f2fs/super.c +1 -0
@@ -49,6 +49,7 @@ char *fault_name[FAULT_MAX] = { [FAULT_BLOCK] = "no more block", [FAULT_DIR_DEPTH] = "too big dir depth", [FAULT_EVICT_INODE] = "evict_inode fail", + [FAULT_TRUNCATE] = "truncate fail", [FAULT_IO] = "IO error", [FAULT_CHECKPOINT] = "checkpoint error", };
Signature · 1 line
2.11.0