linux/fs/f2fs
Jaegeuk Kim d624c96fb3 f2fs: add recovery routines for roll-forward
This adds roll-forward routines to recover fsynced data.

- F2FS uses basically roll-back model with checkpointing.

- In order to implement fsync(), there are two approaches as follows.

1. A roll-back model with checkpointing at every fsync()
 : This is a naive method, but suffers from very low performance.

2. A roll-forward model
 : F2FS adopts this model where all the fsynced data should be recovered, which
   were written after checkpointing was done. In order to figure out the data,
   F2FS keeps a "fsync" mark in direct node blocks. In addition, F2FS remains
   the location of next node block in each direct node block for reconstructing
   the chain of node blocks during the recovery.

- In order to enhance the performance, F2FS keeps a "dentry" mark also in direct
  node blocks. If this is set during the recovery, F2FS replays adding a dentry.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
2012-12-11 13:43:42 +09:00
..
acl.c f2fs: add xattr and acl functionalities 2012-12-11 13:43:41 +09:00
acl.h f2fs: add xattr and acl functionalities 2012-12-11 13:43:41 +09:00
checkpoint.c f2fs: add checkpoint operations 2012-12-11 13:43:40 +09:00
data.c f2fs: add address space operations for data 2012-12-11 13:43:41 +09:00
dir.c f2fs: add core directory operations 2012-12-11 13:43:41 +09:00
f2fs.h
file.c f2fs: add file operations 2012-12-11 13:43:41 +09:00
gc.c f2fs: add garbage collection functions 2012-12-11 13:43:41 +09:00
gc.h f2fs: add garbage collection functions 2012-12-11 13:43:41 +09:00
hash.c f2fs: add core directory operations 2012-12-11 13:43:41 +09:00
inode.c f2fs: add core inode operations 2012-12-11 13:43:41 +09:00
namei.c f2fs: add inode operations for special inodes 2012-12-11 13:43:41 +09:00
node.c f2fs: add node operations 2012-12-11 13:43:40 +09:00
node.h
recovery.c f2fs: add recovery routines for roll-forward 2012-12-11 13:43:42 +09:00
segment.c f2fs: add segment operations 2012-12-11 13:43:40 +09:00
segment.h
super.c f2fs: add super block operations 2012-12-11 13:43:40 +09:00
xattr.c f2fs: add xattr and acl functionalities 2012-12-11 13:43:41 +09:00
xattr.h f2fs: add xattr and acl functionalities 2012-12-11 13:43:41 +09:00