]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - fs/f2fs/inode.c
f2fs: change atomic and volatile write policies
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 9 Dec 2014 14:08:59 +0000 (06:08 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Sat, 10 Jan 2015 01:02:22 +0000 (17:02 -0800)
commit1e84371ffeef451e8532e0cd04c2fe59ff10c514
tree83cce972cf37a185f90c4231213c69f84881511f
parent70c640b1d6fd8484d0629b90052d6f6f738023fb
f2fs: change atomic and volatile write policies

This patch adds two new ioctls to release inmemory pages grabbed by atomic
writes.
 o f2fs_ioc_abort_volatile_write
  - If transaction was failed, all the grabbed pages and data should be written.
 o f2fs_ioc_release_volatile_write
  - This is to enhance the performance of PERSIST mode in sqlite.

In order to avoid huge memory consumption which causes OOM, this patch changes
volatile writes to use normal dirty pages, instead blocked flushing to the disk
as long as system does not suffer from memory pressure.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/inode.c
fs/f2fs/node.c
fs/f2fs/node.h
fs/f2fs/segment.c