Messages in this thread | | | Subject | Re: [f2fs-dev] [PATCH] f2fs: protect new segment allocation in expand_inode_data | From | Chao Yu <> | Date | Thu, 28 May 2020 10:17:41 +0800 |
| |
On 2020/5/27 12:02, Daeho Jeong wrote: > From: Daeho Jeong <daehojeong@google.com> > > Found a new segemnt allocation without f2fs_lock_op() in > expand_inode_data(). So, when we do fallocate() for a pinned file > and trigger checkpoint very frequently and simultaneously. F2FS gets > stuck in the below code of do_checkpoint() forever. > > f2fs_sync_meta_pages(sbi, META, LONG_MAX, FS_CP_META_IO); > /* Wait for all dirty meta pages to be submitted for IO */ > <= if fallocate() here, > f2fs_wait_on_all_pages(sbi, F2FS_DIRTY_META); <= it'll wait forever. > > Signed-off-by: Daeho Jeong <daehojeong@google.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Thanks,
| |