[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e2ecd025-96aa-7f9d-49f7-a821ea18f9dd@huawei.com>
Date: Thu, 28 May 2020 10:17:41 +0800
From: Chao Yu <yuchao0@...wei.com>
To: Daeho Jeong <daeho43@...il.com>, <linux-kernel@...r.kernel.org>,
<linux-f2fs-devel@...ts.sourceforge.net>, <kernel-team@...roid.com>
CC: Daeho Jeong <daehojeong@...gle.com>
Subject: Re: [f2fs-dev] [PATCH] f2fs: protect new segment allocation in
expand_inode_data
On 2020/5/27 12:02, Daeho Jeong wrote:
> From: Daeho Jeong <daehojeong@...gle.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@...gle.com>
Reviewed-by: Chao Yu <yuchao0@...wei.com>
Thanks,
Powered by blists - more mailing lists