git: 271d25a066b5 - main - libufs: Avoid using param.h constants in libufs.h

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Tue, 12 May 2026 20:06:06 UTC
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=271d25a066b59df1e2bb774990948c985382126a

commit 271d25a066b59df1e2bb774990948c985382126a
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-05-12 17:47:17 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-05-12 20:05:19 +0000

    libufs: Avoid using param.h constants in libufs.h
    
    MAXBSIZE is defined in param.h, which defines many other things.  To
    avoid forcing all consumers of libufs.h to include param.h, let's
    instead redefine it and verify the definition in inode.c.
    
    Reviewed by:    kib
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D56859
---
 lib/libufs/inode.c  | 3 +++
 lib/libufs/libufs.h | 7 +++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/libufs/inode.c b/lib/libufs/inode.c
index 863e71867daa..bc4d99c66203 100644
--- a/lib/libufs/inode.c
+++ b/lib/libufs/inode.c
@@ -48,6 +48,9 @@
 
 #include <libufs.h>
 
+_Static_assert(LIBUFS_MAXBSIZE >= MAXBSIZE,
+    "LIBUFS_MAXBSIZE must be at least MAXBSIZE");
+
 int
 getinode(struct uufsd *disk, union dinodep *dp, ino_t inum)
 {
diff --git a/lib/libufs/libufs.h b/lib/libufs/libufs.h
index bb92e082a875..b76d15b338b4 100644
--- a/lib/libufs/libufs.h
+++ b/lib/libufs/libufs.h
@@ -29,6 +29,7 @@
 
 #ifndef	__LIBUFS_H__
 #define	__LIBUFS_H__
+
 #include <stdbool.h>
 
 /*
@@ -38,6 +39,8 @@
  */
 #define LIBUFS_BUFALIGN	128
 
+#define LIBUFS_MAXBSIZE	65536
+
 /*
  * userland ufs disk.
  */
@@ -48,11 +51,11 @@ struct uufsd {
 	} d_sbunion __aligned(LIBUFS_BUFALIGN);
 	union {
 		struct cg d_cg;		/* cylinder group */
-		char d_buf[MAXBSIZE];	/* cylinder group storage */
+		char d_buf[LIBUFS_MAXBSIZE]; /* cylinder group storage */
 	} d_cgunion __aligned(LIBUFS_BUFALIGN);
 	union {
 		union dinodep d_ino[1];	/* inode block */
-		char d_inos[MAXBSIZE];	/* inode block as buffer */
+		char d_inos[LIBUFS_MAXBSIZE]; /* inode block as buffer */
 	} d_inosunion __aligned(LIBUFS_BUFALIGN);
 	const char *d_name;		/* disk name */
 	const char *d_error;		/* human readable disk error */