Files
linux/fs
Zhang Qilong 1550e87112 f2fs: Fix the race condition of resize flag between resizefs
[ Upstream commit 28fc4e9077 ]

Because the set/clear SBI_IS_RESIZEFS flag not between any locks,
In the following case:
  thread1			thread2
   ->ioctl(resizefs)
    ->set RESIZEFS flag		 ->ioctl(resizefs)
    ...                   	  ->set RESIZEFS flag
    ->clear RESIZEFS flag
    				  ->resizefs stream
				    # No RESIZEFS flag in the stream

Also before freeze_super, the resizefs not started, we should not set
the SBI_IS_RESIZEFS flag.

So move the set/clear SBI_IS_RESIZEFS flag between the cp_mutex and
gc_lock.

Fixes: b4b10061ef ("f2fs: refactor resize_fs to avoid meta updates in progress")
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-31 13:32:30 +01:00
..
2022-07-02 18:52:21 +09:00
2022-12-21 17:48:11 +01:00
2022-12-31 13:32:00 +01:00
2022-05-09 16:21:45 -04:00
2022-09-24 07:00:00 +02:00
2022-11-15 16:56:07 +00:00
2022-05-09 16:21:46 -04:00
2022-09-11 20:26:07 -07:00
2022-11-25 17:01:22 +09:00
2022-09-24 07:00:00 +02:00
2022-08-20 11:34:33 -04:00
2022-06-28 13:58:05 -04:00
2022-05-22 21:03:01 +01:00