diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-07-01 04:09:37 +0200 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-07-08 19:34:09 +0200 |
commit | b56ab837a06f3042a54b17a2a4ab3300eb03ecf5 (patch) | |
tree | a5bf616a10f15b4d533aca11464968690f121036 /fs/f2fs/inode.c | |
parent | f2fs: move i_size_write in f2fs_write_end (diff) | |
download | linux-b56ab837a06f3042a54b17a2a4ab3300eb03ecf5.tar.xz 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.c | 9 |
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) |