summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/inode.c
diff options
context:
space:
mode:
authorJaegeuk Kim2016-07-01 04:09:37 +0200
committerJaegeuk Kim2016-07-08 19:34:09 +0200
commitb56ab837a06f3042a54b17a2a4ab3300eb03ecf5 (patch)
treea5bf616a10f15b4d533aca11464968690f121036 /fs/f2fs/inode.c
parentf2fs: move i_size_write in f2fs_write_end (diff)
downloadkernel-qcow2-linux-b56ab837a06f3042a54b17a2a4ab3300eb03ecf5.tar.gz
kernel-qcow2-linux-b56ab837a06f3042a54b17a2a4ab3300eb03ecf5.tar.xz
kernel-qcow2-linux-b56ab837a06f3042a54b17a2a4ab3300eb03ecf5.zip
f2fs: avoid mark_inode_dirty
Let's check inode's dirtiness before calling mark_inode_dirty. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/inode.c')
-rw-r--r--fs/f2fs/inode.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index 9221ca22720c..9ac5efc15347 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -18,6 +18,13 @@
#include <trace/events/f2fs.h>
+void f2fs_mark_inode_dirty_sync(struct inode *inode)
+{
+ if (f2fs_inode_dirtied(inode))
+ return;
+ mark_inode_dirty_sync(inode);
+}
+
void f2fs_set_inode_flags(struct inode *inode)
{
unsigned int flags = F2FS_I(inode)->i_flags;
@@ -35,7 +42,7 @@ void f2fs_set_inode_flags(struct inode *inode)
new_fl |= S_DIRSYNC;
inode_set_flags(inode, new_fl,
S_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC);
- mark_inode_dirty_sync(inode);
+ f2fs_mark_inode_dirty_sync(inode);
}
static void __get_inode_rdev(struct inode *inode, struct f2fs_inode *ri)