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.