mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
f2fs: fix to restrict mount condition on readonly block device
When we mount an unclean f2fs image in a readonly block device, let's
make mount() succeed only when there is no recoverable data in that
image, otherwise after mount(), file fsyned won't be recovered as user
expected.
Fixes: 938a184265
("f2fs: give a warning only for readonly partition")
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
5911d2d1d1
commit
23738e7447
@ -3966,10 +3966,18 @@ try_onemore:
|
||||
* previous checkpoint was not done by clean system shutdown.
|
||||
*/
|
||||
if (f2fs_hw_is_readonly(sbi)) {
|
||||
if (!is_set_ckpt_flags(sbi, CP_UMOUNT_FLAG))
|
||||
f2fs_err(sbi, "Need to recover fsync data, but write access unavailable");
|
||||
else
|
||||
f2fs_info(sbi, "write access unavailable, skipping recovery");
|
||||
if (!is_set_ckpt_flags(sbi, CP_UMOUNT_FLAG)) {
|
||||
err = f2fs_recover_fsync_data(sbi, true);
|
||||
if (err > 0) {
|
||||
err = -EROFS;
|
||||
f2fs_err(sbi, "Need to recover fsync data, but "
|
||||
"write access unavailable, please try "
|
||||
"mount w/ disable_roll_forward or norecovery");
|
||||
}
|
||||
if (err < 0)
|
||||
goto free_meta;
|
||||
}
|
||||
f2fs_info(sbi, "write access unavailable, skipping recovery");
|
||||
goto reset_checkpoint;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user