]> git.baikalelectronics.ru Git - kernel.git/commit
f2fs: don't trigger data flush in foreground operation
authorChao Yu <yuchao0@huawei.com>
Thu, 19 Mar 2020 11:57:58 +0000 (19:57 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 31 Mar 2020 03:46:24 +0000 (20:46 -0700)
commitd5a4f767cd0a6c044e0fba2965c87f6395b0106e
treeed313a1908e07492a352980a1f60a27cd6cb3c0a
parentf35fb1a0401f021eb2714a53fdf24de59901ffa2
f2fs: don't trigger data flush in foreground operation

Data flush can generate heavy IO and cause long latency during
flush, so it's not appropriate to trigger it in foreground
operation.

And also, we may face below potential deadlock during data flush:
- f2fs_write_multi_pages
 - f2fs_write_raw_pages
  - f2fs_write_single_data_page
   - f2fs_balance_fs
    - f2fs_balance_fs_bg
     - f2fs_sync_dirty_inodes
      - filemap_fdatawrite   -- stuck on flush same cluster

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/gc.c
fs/f2fs/node.c
fs/f2fs/segment.c