When running fsck_ffs manually, do not ask:

USE JOURNAL? [yn]

when the journal timestamp does not match the filesystem mount time
as we are just going to print an error and fall through to a full fsck.
Instead, just run a full fsck.

Requested by: Bjoern A. Zeeb (bz)
MFC after:    7 days
This commit is contained in:
Kirk McKusick 2019-12-24 23:03:12 +00:00
parent 60fe786358
commit c094263a24
2 changed files with 7 additions and 7 deletions

View File

@ -423,13 +423,11 @@ checkfilesys(char *filesys)
*/
if ((sblock.fs_flags & FS_SUJ) == FS_SUJ) {
if ((sblock.fs_flags & FS_NEEDSFSCK) != FS_NEEDSFSCK && skipclean) {
if (preen || reply("USE JOURNAL")) {
if (suj_check(filesys) == 0) {
printf("\n***** FILE SYSTEM MARKED CLEAN *****\n");
if (chkdoreload(mntp) == 0)
exit(0);
exit(4);
}
if (suj_check(filesys) == 0) {
printf("\n***** FILE SYSTEM MARKED CLEAN *****\n");
if (chkdoreload(mntp) == 0)
exit(0);
exit(4);
}
printf("** Skipping journal, falling through to full fsck\n\n");
}

View File

@ -2720,6 +2720,8 @@ suj_check(const char *filesys)
printf("** SU+J Recovering %s\n", filesys);
if (suj_verifyino(jip) != 0)
return (-1);
if (!preen && !reply("USE JOURNAL"))
return (-1);
/*
* Build a list of journal blocks in jblocks before parsing the
* available journal blocks in with suj_read().