f2fs: add F2FS_GOING_DOWN_METAFLUSH to test power-failure
This patch introduces F2FS_GOING_DOWN_METAFLUSH which flushes meta pages like SSA blocks and then blocks all the writes. This can be used by power-failure tests. Reviewed-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
6066d8cdb6
commit
c912a8298c
2 changed files with 5 additions and 0 deletions
|
@ -250,6 +250,7 @@ static inline bool __has_cursum_space(struct f2fs_summary_block *sum, int size,
|
||||||
#define F2FS_GOING_DOWN_FULLSYNC 0x0 /* going down with full sync */
|
#define F2FS_GOING_DOWN_FULLSYNC 0x0 /* going down with full sync */
|
||||||
#define F2FS_GOING_DOWN_METASYNC 0x1 /* going down with metadata */
|
#define F2FS_GOING_DOWN_METASYNC 0x1 /* going down with metadata */
|
||||||
#define F2FS_GOING_DOWN_NOSYNC 0x2 /* going down */
|
#define F2FS_GOING_DOWN_NOSYNC 0x2 /* going down */
|
||||||
|
#define F2FS_GOING_DOWN_METAFLUSH 0x3 /* going down with meta flush */
|
||||||
|
|
||||||
#if defined(__KERNEL__) && defined(CONFIG_COMPAT)
|
#if defined(__KERNEL__) && defined(CONFIG_COMPAT)
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1498,6 +1498,10 @@ static int f2fs_ioc_shutdown(struct file *filp, unsigned long arg)
|
||||||
case F2FS_GOING_DOWN_NOSYNC:
|
case F2FS_GOING_DOWN_NOSYNC:
|
||||||
f2fs_stop_checkpoint(sbi);
|
f2fs_stop_checkpoint(sbi);
|
||||||
break;
|
break;
|
||||||
|
case F2FS_GOING_DOWN_METAFLUSH:
|
||||||
|
sync_meta_pages(sbi, META, LONG_MAX);
|
||||||
|
f2fs_stop_checkpoint(sbi);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue