|
@@ -2177,10 +2177,12 @@ static void ext4_orphan_cleanup(struct super_block *sb,
|
|
|
}
|
|
|
|
|
|
if (EXT4_SB(sb)->s_mount_state & EXT4_ERROR_FS) {
|
|
|
- if (es->s_last_orphan)
|
|
|
+ /* don't clear list on RO mount w/ errors */
|
|
|
+ if (es->s_last_orphan && !(s_flags & MS_RDONLY)) {
|
|
|
jbd_debug(1, "Errors on filesystem, "
|
|
|
"clearing orphan list.\n");
|
|
|
- es->s_last_orphan = 0;
|
|
|
+ es->s_last_orphan = 0;
|
|
|
+ }
|
|
|
jbd_debug(1, "Skipping orphan recovery on fs with errors.\n");
|
|
|
return;
|
|
|
}
|