Module Name: src Committed By: mlelstv Date: Tue Jan 24 08:05:07 UTC 2023
Modified Files: src/sbin/scan_ffs: Makefile scan_ffs.c Log Message: Work on swapped-endian FFS. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sbin/scan_ffs/Makefile cvs rdiff -u -r1.36 -r1.37 src/sbin/scan_ffs/scan_ffs.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sbin/scan_ffs/Makefile diff -u src/sbin/scan_ffs/Makefile:1.10 src/sbin/scan_ffs/Makefile:1.11 --- src/sbin/scan_ffs/Makefile:1.10 Mon Sep 7 03:09:53 2020 +++ src/sbin/scan_ffs/Makefile Tue Jan 24 08:05:07 2023 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.10 2020/09/07 03:09:53 mrg Exp $ +# $NetBSD: Makefile,v 1.11 2023/01/24 08:05:07 mlelstv Exp $ .include <bsd.own.mk> @@ -10,9 +10,9 @@ MLINKS= scan_ffs.8 scan_lfs.8 LDADD= -lutil DPADD= ${LIBUTIL} -SRCS= scan_ffs.c lfs_cksum.c +SRCS= scan_ffs.c ffs_bswap.c lfs_cksum.c SCAN_FFS=${NETBSDSRCDIR}/sbin/scan_ffs -.PATH: ${NETBSDSRCDIR}/sys/ufs/lfs ${SCAN_FFS} +.PATH: ${NETBSDSRCDIR}/sys/ufs/ffs ${NETBSDSRCDIR}/sys/ufs/lfs ${SCAN_FFS} MAN= scan_ffs.8 Index: src/sbin/scan_ffs/scan_ffs.c diff -u src/sbin/scan_ffs/scan_ffs.c:1.36 src/sbin/scan_ffs/scan_ffs.c:1.37 --- src/sbin/scan_ffs/scan_ffs.c:1.36 Thu Nov 17 06:40:39 2022 +++ src/sbin/scan_ffs/scan_ffs.c Tue Jan 24 08:05:07 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: scan_ffs.c,v 1.36 2022/11/17 06:40:39 chs Exp $ */ +/* $NetBSD: scan_ffs.c,v 1.37 2023/01/24 08:05:07 mlelstv Exp $ */ /* * Copyright (c) 2005-2007 Juan Romero Pardines @@ -33,7 +33,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: scan_ffs.c,v 1.36 2022/11/17 06:40:39 chs Exp $"); +__RCSID("$NetBSD: scan_ffs.c,v 1.37 2023/01/24 08:05:07 mlelstv Exp $"); #endif /* not lint */ #include <sys/types.h> @@ -50,6 +50,7 @@ __RCSID("$NetBSD: scan_ffs.c,v 1.36 2022 #include <ufs/ufs/dinode.h> #include <ufs/ffs/fs.h> +#include <ufs/ffs/ffs_extern.h> #include <unistd.h> #include <stdlib.h> @@ -123,6 +124,14 @@ static int ffs_checkver(struct sblockinfo *sbi) { switch (sbi->ffs->fs_magic) { + case FS_UFS1_MAGIC_SWAPPED: + case FS_UFS2_MAGIC_SWAPPED: + case FS_UFS2EA_MAGIC_SWAPPED: + ffs_sb_swap(sbi->ffs, sbi->ffs); + break; + } + + switch (sbi->ffs->fs_magic) { case FS_UFS1_MAGIC: case FS_UFS1_MAGIC_SWAPPED: sbi->ffs->fs_size = sbi->ffs->fs_old_size;