f2fs: add f2fs_balance_fs for direct IO
Otherwise, if a large amount of direct IO writes were done, the segment allocation may be failed because no enough segments are gced. Changes: v2: add f2fs_balance_fs into __get_data_block instead of f2fs_direct_IO. Signed-off-by: Huang, Ying <ying.huang@intel.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
79ad5180e7
commit
83278e5f81
|
@ -627,8 +627,10 @@ static int __get_data_block(struct inode *inode, sector_t iblock,
|
|||
if (check_extent_cache(inode, pgofs, bh_result))
|
||||
goto out;
|
||||
|
||||
if (create)
|
||||
if (create) {
|
||||
f2fs_balance_fs(sbi);
|
||||
f2fs_lock_op(sbi);
|
||||
}
|
||||
|
||||
/* When reading holes, we need its node page */
|
||||
set_new_dnode(&dn, inode, NULL, NULL, 0);
|
||||
|
|
Loading…
Reference in New Issue