git: b366ee4868bc - main - Consolodate four copies of the STDSB define into a single place.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Nov 2021 06:10:55 UTC
The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=b366ee4868bca2b3ebe4bb29c9590a29b6cecc29 commit b366ee4868bca2b3ebe4bb29c9590a29b6cecc29 Author: Kirk McKusick <mckusick@FreeBSD.org> AuthorDate: 2021-11-15 06:09:06 +0000 Commit: Kirk McKusick <mckusick@FreeBSD.org> CommitDate: 2021-11-15 06:10:16 +0000 Consolodate four copies of the STDSB define into a single place. The STDSB macro is passed to the ffs_sbget() routine to fetch a UFS/FFS superblock "from the stadard place". It was identically defined in lib/libufs/libufs.h, stand/libsa/ufs.c, sys/ufs/ffs/ffs_extern.h, and sys/ufs/ffs/ffs_subr.c. Delete it from these four files and define it instead in sys/ufs/ffs/fs.h. All existing uses of this macro already include sys/ufs/ffs/fs.h so no include changes need to be made. No functional change intended. Sponsored by: Netflix --- lib/libufs/libufs.h | 6 ------ stand/libsa/ufs.c | 5 ----- sys/ufs/ffs/ffs_extern.h | 6 ------ sys/ufs/ffs/ffs_subr.c | 5 ----- sys/ufs/ffs/fs.h | 12 ++++++++++++ 5 files changed, 12 insertions(+), 22 deletions(-) diff --git a/lib/libufs/libufs.h b/lib/libufs/libufs.h index 8160fdcd68a9..63a8dc170997 100644 --- a/lib/libufs/libufs.h +++ b/lib/libufs/libufs.h @@ -117,12 +117,6 @@ int ffs_sbput(void *, struct fs *, off_t, void ffs_update_dinode_ckhash(struct fs *, struct ufs2_dinode *); int ffs_verify_dinode_ckhash(struct fs *, struct ufs2_dinode *); -/* - * Request standard superblock location in ffs_sbget - */ -#define STDSB -1 /* Fail if check-hash is bad */ -#define STDSB_NOHASHFAIL -2 /* Ignore check-hash failure */ - /* * block.c */ diff --git a/stand/libsa/ufs.c b/stand/libsa/ufs.c index a4015dea74c2..31212bf3473a 100644 --- a/stand/libsa/ufs.c +++ b/stand/libsa/ufs.c @@ -154,11 +154,6 @@ static int ufs_use_sa_read(void *, off_t, void **, int); /* from ffs_subr.c */ int ffs_sbget(void *, struct fs **, off_t, char *, int (*)(void *, off_t, void **, int)); -/* - * Request standard superblock location in ffs_sbget - */ -#define STDSB -1 /* Fail if check-hash is bad */ -#define STDSB_NOHASHFAIL -2 /* Ignore check-hash failure */ /* * Read a new inode into a file structure. diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h index c835239986ba..fdc08dc6aafb 100644 --- a/sys/ufs/ffs/ffs_extern.h +++ b/sys/ufs/ffs/ffs_extern.h @@ -137,12 +137,6 @@ int ffs_breadz(struct ufsmount *, struct vnode *, daddr_t, daddr_t, int, #define FFSR_FORCE 0x0001 #define FFSR_UNSUSPEND 0x0002 -/* - * Request standard superblock location in ffs_sbget - */ -#define STDSB -1 /* Fail if check-hash is bad */ -#define STDSB_NOHASHFAIL -2 /* Ignore check-hash failure */ - /* * Definitions for TRIM interface * diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index 3e6cefa7be0c..60d90aac5bcc 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -50,11 +50,6 @@ uint32_t ffs_calc_sbhash(struct fs *); struct malloc_type; #define UFS_MALLOC(size, type, flags) malloc(size) #define UFS_FREE(ptr, type) free(ptr) -/* - * Request standard superblock location in ffs_sbget - */ -#define STDSB -1 /* Fail if check-hash is bad */ -#define STDSB_NOHASHFAIL -2 /* Ignore check-hash failure */ #else /* _KERNEL */ #include <sys/systm.h> diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h index df003c4282d9..00c153b9684d 100644 --- a/sys/ufs/ffs/fs.h +++ b/sys/ufs/ffs/fs.h @@ -77,6 +77,18 @@ #define SBLOCKSIZE 8192 #define SBLOCKSEARCH \ { SBLOCK_UFS2, SBLOCK_UFS1, SBLOCK_FLOPPY, SBLOCK_PIGGY, -1 } +/* + * Request standard superblock location in ffs_sbget(). + * + * STDSB will fail if the superblock has a check hash and it is wrong. + * + * STDSB_NOHASHFAIL will note that the check hash is wrong but will + * still return the superblock. This is used by the bootstrap code + * to give the system a chance to come up so that fsck can be run + * to correct the problem. + */ +#define STDSB -1 /* Fail if check-hash is bad */ +#define STDSB_NOHASHFAIL -2 /* Ignore check-hash failure */ /* * Max number of fragments per block. This value is NOT tweakable.