Re: [PATCH v2 1/2] f2fs: dax: fix races between page faults and truncating pages

From: Chao Yu
Date: Wed Jun 07 2017 - 05:41:21 EST


On 2017/5/18 11:06, sunqiuyang wrote:
> From: Qiuyang Sun <sunqiuyang@xxxxxxxxxx>
>
> Currently in F2FS, page faults and operations that truncate the pagecahe
> or data blocks, are completely unsynchronized. This can result in page
> fault faulting in a page into a range that we are changing after
> truncating, and thus we can end up with a page mapped to disk blocks that
> will be shortly freed. Filesystem corruption will shortly follow.
>
> This patch fixes the problem by creating new rw semaphore i_mmap_sem in
> f2fs_inode_info and grab it for functions removing blocks from extent tree
> and for read over page faults. The mechanism is similar to that in ext4.
>
> Signed-off-by: Qiuyang Sun <sunqiuyang@xxxxxxxxxx>

Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx>