diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2012-11-02 17:13:32 +0900 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2012-12-11 13:43:42 +0900 |
commit | d624c96fb3249e5d3dcf4e60a805e5e6b0dd7d91 (patch) | |
tree | 69ad4c96d4c78d728cb2941a41f64737021e68cd /mm | |
parent | 7bc0900347e069a1676d28ad6f98cafaf8cfd6e9 (diff) |
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>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions