aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2026-05-12 17:47:17 +0000
committerMark Johnston <markj@FreeBSD.org>2026-05-12 20:05:19 +0000
commit271d25a066b59df1e2bb774990948c985382126a (patch)
tree1c52b6feb3613e498f0fe8e3e1a54d0107111712
parent3cd3900b690d8296094921cec844da3f72d30cbb (diff)
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
-rw-r--r--lib/libufs/inode.c3
-rw-r--r--lib/libufs/libufs.h7
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 */