diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-09-10 19:53:02 -0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-09-16 07:10:44 -0400 |
commit | c1ce1b02bb25640567dc484dc94d3a195d21e705 (patch) | |
tree | 66d98ac24b6959a78618b1706f156f8f76614ad8 /fs/f2fs/f2fs.h | |
parent | a7ffdbe22cecaed59b5d76a5f003d68907d64240 (diff) |
f2fs: give an option to enable in-place-updates during fsync to users
If user wrote F2FS_IPU_FSYNC:4 in /sys/fs/f2fs/ipu_policy, f2fs_sync_file
only starts to try in-place-updates.
And, if the number of dirty pages is over /sys/fs/f2fs/min_fsync_blocks, it
keeps out-of-order manner. Otherwise, it triggers in-place-updates.
This may be used by storage showing very high random write performance.
For example, it can be used when,
Seq. writes (Data) + wait + Seq. writes (Node)
is pretty much slower than,
Rand. writes (Data)
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/f2fs.h')
-rw-r--r-- | fs/f2fs/f2fs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index ad7e9b369319..8efa170352ff 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h | |||
@@ -386,6 +386,7 @@ struct f2fs_sm_info { | |||
386 | 386 | ||
387 | unsigned int ipu_policy; /* in-place-update policy */ | 387 | unsigned int ipu_policy; /* in-place-update policy */ |
388 | unsigned int min_ipu_util; /* in-place-update threshold */ | 388 | unsigned int min_ipu_util; /* in-place-update threshold */ |
389 | unsigned int min_fsync_blocks; /* threshold for fsync */ | ||
389 | 390 | ||
390 | /* for flush command control */ | 391 | /* for flush command control */ |
391 | struct flush_cmd_control *cmd_control_info; | 392 | struct flush_cmd_control *cmd_control_info; |