diff options
author | Kirk McKusick <mckusick@FreeBSD.org> | 2021-11-15 06:09:06 +0000 |
---|---|---|
committer | Kirk McKusick <mckusick@FreeBSD.org> | 2021-11-15 06:10:16 +0000 |
commit | b366ee4868bca2b3ebe4bb29c9590a29b6cecc29 (patch) | |
tree | 276ea71a89f2e4a1ce8188740b9db583f3f8a369 | |
parent | f7523c8a19d008412ccc969b12eeb756613f3678 (diff) |
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
-rw-r--r-- | lib/libufs/libufs.h | 6 | ||||
-rw-r--r-- | stand/libsa/ufs.c | 5 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_extern.h | 6 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_subr.c | 5 | ||||
-rw-r--r-- | 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 @@ -118,12 +118,6 @@ 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 */ ssize_t bread(struct uufsd *, ufs2_daddr_t, void *, size_t); 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 @@ -138,12 +138,6 @@ int ffs_breadz(struct ufsmount *, struct vnode *, daddr_t, daddr_t, int, #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 * * Special keys and recommended hash table size 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. |