summaryrefslogtreecommitdiff
path: root/fs/f2fs/node.h
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2014-03-20 12:52:53 (GMT)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2014-03-20 13:10:11 (GMT)
commit479f40c44ae30e02642ce0391be707a53852d545 (patch)
tree0ad83458da430f524f70a681c4d88c1b22e54233 /fs/f2fs/node.h
parentd928bfbfe77aa457b765c19e9db8cd4cc72b3c89 (diff)
downloadlinux-479f40c44ae30e02642ce0391be707a53852d545.tar.xz
f2fs: skip unnecessary node writes during fsync
If multiple redundant fsync calls are triggered, we don't need to write its node pages with fsync mark continuously. So, this patch adds FI_NEED_FSYNC to track whether the latest node block is written with the fsync mark or not. If the mark was set, a new fsync doesn't need to write a node block. Otherwise, we should do a new node block with the mark for roll-forward recovery. Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs/node.h')
-rw-r--r--fs/f2fs/node.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/node.h b/fs/f2fs/node.h
index c2015b7..5decc1a 100644
--- a/fs/f2fs/node.h
+++ b/fs/f2fs/node.h
@@ -42,6 +42,7 @@ struct node_info {
struct nat_entry {
struct list_head list; /* for clean or dirty nat list */
bool checkpointed; /* whether it is checkpointed or not */
+ bool fsync_done; /* whether the latest node has fsync mark */
struct node_info ni; /* in-memory node information */
};