diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-09-10 16:53:02 -0700 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-09-16 04:10:44 -0700 |
commit | c1ce1b02bb25640567dc484dc94d3a195d21e705 (patch) | |
tree | 66d98ac24b6959a78618b1706f156f8f76614ad8 /fs/f2fs/f2fs.h | |
parent | a7ffdbe22cecaed59b5d76a5f003d68907d64240 (diff) | |
download | linux-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.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 { 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; |