Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a29d0e0b authored by Yunlei He's avatar Yunlei He Committed by Jaegeuk Kim
Browse files

f2fs: skip writeback meta pages if cp_mutex acquire failed



Skip writeback meta pages if cp_mutex lock acquire failed, cp will
flush dirty pages instead.

Signed-off-by: default avatarYunlei He <heyunlei@huawei.com>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 5ce4738a
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -275,10 +275,11 @@ static int f2fs_write_meta_pages(struct address_space *mapping,
		get_pages(sbi, F2FS_DIRTY_META) < nr_pages_to_skip(sbi, META))
		get_pages(sbi, F2FS_DIRTY_META) < nr_pages_to_skip(sbi, META))
		goto skip_write;
		goto skip_write;


	trace_f2fs_writepages(mapping->host, wbc, META);
	/* if locked failed, cp will flush dirty pages instead */
	if (!mutex_trylock(&sbi->cp_mutex))
		goto skip_write;


	/* if mounting is failed, skip writing node pages */
	trace_f2fs_writepages(mapping->host, wbc, META);
	mutex_lock(&sbi->cp_mutex);
	diff = nr_pages_to_write(sbi, META, wbc);
	diff = nr_pages_to_write(sbi, META, wbc);
	written = sync_meta_pages(sbi, META, wbc->nr_to_write);
	written = sync_meta_pages(sbi, META, wbc->nr_to_write);
	mutex_unlock(&sbi->cp_mutex);
	mutex_unlock(&sbi->cp_mutex);