summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/f2fs.h
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2014-09-10 16:53:02 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2014-09-16 04:10:44 -0700
commitc1ce1b02bb25640567dc484dc94d3a195d21e705 (patch)
tree66d98ac24b6959a78618b1706f156f8f76614ad8 /fs/f2fs/f2fs.h
parenta7ffdbe22cecaed59b5d76a5f003d68907d64240 (diff)
downloadlinux-c1ce1b02bb25640567dc484dc94d3a195d21e705.tar.gz
linux-c1ce1b02bb25640567dc484dc94d3a195d21e705.tar.bz2
linux-c1ce1b02bb25640567dc484dc94d3a195d21e705.zip
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.h1
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 {
unsigned int ipu_policy; /* in-place-update policy */
unsigned int min_ipu_util; /* in-place-update threshold */
+ unsigned int min_fsync_blocks; /* threshold for fsync */
/* for flush command control */
struct flush_cmd_control *cmd_control_info;