]> www.infradead.org Git - users/jedix/linux-maple.git/commit
f2fs: fix to avoid changing 'check only' behaior of recovery
authorZhiguo Niu <zhiguo.niu@unisoc.com>
Tue, 21 Jan 2025 02:15:41 +0000 (10:15 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 22 Jan 2025 21:04:56 +0000 (21:04 +0000)
commitedf3c0860060f8171d60dc5a6c28cb6702559f32
tree58e18c8e390b4133b2b02df5c28c86b6b2e80c22
parent6d4008dc4a8e0949afe1d9ff27c93fe68672ea06
f2fs: fix to avoid changing 'check only' behaior of recovery

The following two 'check only recovery' processes are very dependent on
the return value of f2fs_recover_fsync_data, especially when the return
value is greater than 0.
1. when device has readonly mode, shown as commit
23738e74472f ("f2fs: fix to restrict mount condition on readonly block device")
2. mount optiont NORECOVERY or DISABLE_ROLL_FORWARD is set, shown as commit
6781eabba1bd ("f2fs: give -EINVAL for norecovery and rw mount")

However, commit c426d99127b1 ("f2fs: Check write pointer consistency of open zones")
will change the return value unexpectedly, thereby changing the caller's behavior

This patch let the f2fs_recover_fsync_data return correct value,and not do
f2fs_check_and_fix_write_pointer when the device is read-only.

Fixes: c426d99127b1 ("f2fs: Check write pointer consistency of open zones")
Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/recovery.c
fs/f2fs/segment.c