Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1502507

[PATCH 2/3] f2fs: call f2fs_balance_fs for setattr

From Jaegeuk Kim <jaegeuk@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 2/3] f2fs: call f2fs_balance_fs for setattr
Date 2016-10-18 00:10 +0200
Message-ID <stogy-1lR-5@gated-at.bofh.it> (permalink)
References <stogy-1lR-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


If inode becomes dirty, we need to check the # of dirty inodes whether or not
further checkpoint would be required.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/file.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 0907efa..e63d0fd 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -694,7 +694,6 @@ int f2fs_setattr(struct dentry *dentry, struct iattr *attr)
 			err = f2fs_truncate(inode);
 			if (err)
 				return err;
-			f2fs_balance_fs(F2FS_I_SB(inode), true);
 		} else {
 			/*
 			 * do not trim all blocks after i_size if target size is
@@ -723,6 +722,10 @@ int f2fs_setattr(struct dentry *dentry, struct iattr *attr)
 	}
 
 	f2fs_mark_inode_dirty_sync(inode);
+
+	/* inode change will produce dirty node pages flushed by checkpoint */
+	f2fs_balance_fs(F2FS_I_SB(inode), true);
+
 	return err;
 }
 
-- 
2.8.3

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 2/3] f2fs: call f2fs_balance_fs for setattr Jaegeuk Kim <jaegeuk@kernel.org> - 2016-10-18 00:10 +0200
  Re: [PATCH 2/3] f2fs: call f2fs_balance_fs for setattr Chao Yu <yuchao0@huawei.com> - 2016-10-26 14:10 +0200

csiph-web