|
@@ -1149,6 +1149,15 @@ try_onemore:
|
|
|
|
|
|
/* recover fsynced data */
|
|
/* recover fsynced data */
|
|
if (!test_opt(sbi, DISABLE_ROLL_FORWARD)) {
|
|
if (!test_opt(sbi, DISABLE_ROLL_FORWARD)) {
|
|
|
|
+ /*
|
|
|
|
+ * mount should be failed, when device has readonly mode, and
|
|
|
|
+ * previous checkpoint was not done by clean system shutdown.
|
|
|
|
+ */
|
|
|
|
+ if (bdev_read_only(sb->s_bdev) &&
|
|
|
|
+ !is_set_ckpt_flags(sbi->ckpt, CP_UMOUNT_FLAG)) {
|
|
|
|
+ err = -EROFS;
|
|
|
|
+ goto free_kobj;
|
|
|
|
+ }
|
|
err = recover_fsync_data(sbi);
|
|
err = recover_fsync_data(sbi);
|
|
if (err) {
|
|
if (err) {
|
|
f2fs_msg(sb, KERN_ERR,
|
|
f2fs_msg(sb, KERN_ERR,
|