NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/55657 (libsa ffs support is not endian independent)

The following reply was made to PR lib/55657; it has been noted by GNATS.

From: Rin Okuyama <>
To: "" <>
Subject: Re: lib/55657 (libsa ffs support is not endian independent)
Date: Thu, 27 May 2021 17:34:03 +0900

 -------- Forwarded Message --------
 Subject: CVS commit: src/sys
 Date: Thu, 27 May 2021 06:54:45 +0000
 From: matthew green <>
 Module Name:	src
 Committed By:	mrg
 Date:		Thu May 27 06:54:45 UTC 2021
 Modified Files:
 	src/sys/lib/libsa: Makefile ffsv1.c ffsv2.c lfsv1.c lfsv2.c ufs.c ufs.h
 	src/sys/stand/efiboot: Makefile.efiboot version
 Added Files:
 	src/sys/lib/libsa: ffs_bswap.c
 Log Message:
 add bi-endian support to the libsa ufs reader and enable it in efiboot.
 ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
 and FS_MAGIC (moved from ufs.c #if segments.)  these are used to call
 the right (32/64 bit) ffsv1/v2 version.
 ufs.c 'struct file' gains f_swapped member.  accessors for d_magic,
 d_reclen, and d_ino are introduced (they need to be swapped.)  sfter
 reading an inode from disk, read_inode() may call ufs_dinode_swap().
 indirect block number and caches may be swapped.
 error handling in ffs_find_superblock() is cleaned up.  (size is slightly
 reduced on some ports with this part.)
 defaults for new defines added to ufs.c.  (XXX: we build ufs.c but i think
 all the consumers don't use it, and we can stop building it.)
 LFS support is not included.
 add a cut-down copy of ffs_bswap.c from the kernel.
 also enable bi-endian disklabel support in efiboot.
 most ports build and sizes compared for platforms that don't enable this
 code and all but one saw reduced code size.  booted several platforms with
 new boot code.
 To generate a diff of this commit:
 cvs rdiff -u -r1.94 -r1.95 src/sys/lib/libsa/Makefile
 cvs rdiff -u -r0 -r1.1 src/sys/lib/libsa/ffs_bswap.c
 cvs rdiff -u -r1.7 -r1.8 src/sys/lib/libsa/ffsv1.c src/sys/lib/libsa/ffsv2.c
 cvs rdiff -u -r1.14 -r1.15 src/sys/lib/libsa/lfsv1.c \
 cvs rdiff -u -r1.79 -r1.80 src/sys/lib/libsa/ufs.c
 cvs rdiff -u -r1.10 -r1.11 src/sys/lib/libsa/ufs.h
 cvs rdiff -u -r1.20 -r1.21 src/sys/stand/efiboot/Makefile.efiboot
 cvs rdiff -u -r1.24 -r1.25 src/sys/stand/efiboot/version
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index