diff options
author | Kirk McKusick <mckusick@FreeBSD.org> | 2021-04-27 01:42:48 +0000 |
---|---|---|
committer | Kirk McKusick <mckusick@FreeBSD.org> | 2021-04-27 01:43:51 +0000 |
commit | 689724cb23c2acf58091c80f27de4823d7cd87ca (patch) | |
tree | 1fe6d25c74def2668d27cdd40876a1b108b81c64 | |
parent | f5ff282bc025f0395afcef40f5b6e778202c4181 (diff) | |
download | src-689724cb23c2acf58091c80f27de4823d7cd87ca.tar.gz src-689724cb23c2acf58091c80f27de4823d7cd87ca.zip |
Clean up fsck_ffs error message output.
When fsck_ffs is creating a lost+found directory it must allocate
an inode and a filesystem block. If it encounters a cylinder group
with a bad check hash, it complains twice: once for the inode and
again for the filesystem block.
This change suppresses the second complaint.
Reported by: Chuck Silvers
Tested by: Chuck Silvers
MFC after: 1 week
Sponsored by: Netflix
-rw-r--r-- | sbin/fsck_ffs/fsutil.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 276d543dedc6..b13ba4c54bde 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -948,6 +948,7 @@ check_cgmagic(int cg, struct bufarea *cgbp, int request_rebuild) { struct cg *cgp = cgbp->b_un.b_cg; uint32_t cghash, calchash; + static int prevfailcg = -1; /* * Extended cylinder group checks. @@ -973,9 +974,14 @@ check_cgmagic(int cg, struct bufarea *cgbp, int request_rebuild) cgp->cg_initediblk <= sblock.fs_ipg))) { return (1); } + if (prevfailcg == cg) + return (0); + prevfailcg = cg; pfatal("CYLINDER GROUP %d: INTEGRITY CHECK FAILED", cg); - if (!request_rebuild) + if (!request_rebuild) { + printf("\n"); return (0); + } if (!reply("REBUILD CYLINDER GROUP")) { printf("YOU WILL NEED TO RERUN FSCK.\n"); rerun = 1; |