linux-stable/fs/f2fs
Jaegeuk Kim 02a1335f25 f2fs: support volatile operations for transient data
This patch adds support for volatile writes which keep data pages in memory
until f2fs_evict_inode is called by iput.

For instance, we can use this feature for the sqlite database as follows.
While supporting atomic writes for main database file, we can keep its journal
data temporarily in the page cache by the following sequence.

1. open
 -> ioctl(F2FS_IOC_START_VOLATILE_WRITE);
2. writes
 : keep all the data in the page cache.
3. flush to the database file with atomic writes
  a. ioctl(F2FS_IOC_START_ATOMIC_WRITE);
  b. writes
  c. ioctl(F2FS_IOC_COMMIT_ATOMIC_WRITE);
4. close
 -> drop the cached data

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2014-10-07 11:54:41 -07:00
..
Kconfig f2fs: fix typo 2014-08-19 10:01:33 -07:00
Makefile f2fs: key functions to handle inline data 2013-12-26 20:40:09 +09:00
acl.c f2fs: remove the redundant validation check of acl 2014-07-09 14:04:25 -07:00
acl.h f2fs: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
checkpoint.c f2fs: check the use of macros on block counts and addresses 2014-09-30 15:34:47 -07:00
data.c f2fs: support volatile operations for transient data 2014-10-07 11:54:41 -07:00
debug.c f2fs: check the use of macros on block counts and addresses 2014-09-30 15:34:47 -07:00
dir.c f2fs: expand counting dirty pages in the inode page cache 2014-09-16 04:10:39 -07:00
f2fs.h f2fs: support volatile operations for transient data 2014-10-07 11:54:41 -07:00
file.c f2fs: support volatile operations for transient data 2014-10-07 11:54:41 -07:00
gc.c f2fs: check the use of macros on block counts and addresses 2014-09-30 15:34:47 -07:00
gc.h f2fs: fix typo 2014-08-19 10:01:33 -07:00
hash.c f2fs: fix wrong casting for dentry name 2014-08-29 00:26:50 -07:00
inline.c f2fs: support atomic writes 2014-10-06 17:39:50 -07:00
inode.c f2fs: support volatile operations for transient data 2014-10-07 11:54:41 -07:00
namei.c f2fs: call f2fs_unlock_op after error was handled 2014-09-30 15:34:55 -07:00
node.c f2fs: refactor flush_nat_entries to remove costly reorganizing ops 2014-09-30 15:30:41 -07:00
node.h f2fs: remove unused return value 2014-10-05 21:05:15 -07:00
recovery.c f2fs: check the use of macros on block counts and addresses 2014-09-30 15:34:47 -07:00
segment.c f2fs: support atomic writes 2014-10-06 17:39:50 -07:00
segment.h f2fs: support atomic writes 2014-10-06 17:39:50 -07:00
super.c f2fs: support atomic writes 2014-10-06 17:39:50 -07:00
xattr.c f2fs: need fsck.f2fs when f2fs_bug_on is triggered 2014-09-09 13:15:02 -07:00
xattr.h f2fs: pass flags field to setxattr functions 2014-05-07 10:21:56 +09:00