aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirk McKusick <mckusick@FreeBSD.org>2022-07-25 01:01:43 +0000
committerKirk McKusick <mckusick@FreeBSD.org>2022-07-25 01:12:24 +0000
commitbf24d17fda75cc89a92248715d52a73f23adc89c (patch)
tree8bd8cb2d1839619206fa7af3126baf4c5243c495
parent1297a704d99110644af1ae32840cee1b9523cb56 (diff)
downloadsrc-bf24d17fda75cc89a92248715d52a73f23adc89c.tar.gz
src-bf24d17fda75cc89a92248715d52a73f23adc89c.zip
Have dumpfs(8) ignore superblock check-hash failures.
Set the STDSB_NOHASHFAIL request so that dumpfs(8) can print out filesystem details even when the superblock checksum is incorrect.
-rw-r--r--sbin/dumpfs/dumpfs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c
index 99b4ad0b9274..7f2acdf435ea 100644
--- a/sbin/dumpfs/dumpfs.c
+++ b/sbin/dumpfs/dumpfs.c
@@ -130,7 +130,13 @@ main(int argc, char *argv[])
usage();
while ((name = *argv++) != NULL) {
- if (ufs_disk_fillout(&disk, name) == -1) {
+ if (ufs_disk_fillout_blank(&disk, name) == -1) {
+ ufserr(name);
+ eval |= 1;
+ continue;
+ }
+ disk.d_sblockloc = STDSB_NOHASHFAIL;
+ if (sbread(&disk) == -1) {
ufserr(name);
eval |= 1;
continue;