libxfs: fix incorrect porting to 6.7
Userspace libxfs is supposed to match the kernel libxfs except for the
preprocessor include directives. Fix a few discrepancies that came up
for whatever reason.
To fix the build errors resulting from CONFIG_XFS_RT not being defined,
add it to libxfs.h and alter the Makefile to track xfs_rtbitmap.h.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bill O'Donnell <bodonnel@redhat.com>
diff --git a/db/check.c b/db/check.c
index 9d5576c..a47a5d9 100644
--- a/db/check.c
+++ b/db/check.c
@@ -20,7 +20,6 @@
#include "init.h"
#include "malloc.h"
#include "dir2.h"
-#include "xfs_rtbitmap.h"
typedef enum {
IS_USER_QUOTA, IS_PROJECT_QUOTA, IS_GROUP_QUOTA,
diff --git a/include/libxfs.h b/include/libxfs.h
index 9cec394..aeec2bc 100644
--- a/include/libxfs.h
+++ b/include/libxfs.h
@@ -7,6 +7,9 @@
#ifndef __LIBXFS_H__
#define __LIBXFS_H__
+/* For userspace XFS_RT is always defined */
+#define CONFIG_XFS_RT
+
#include "libxfs_api_defs.h"
#include "platform_defs.h"
#include "xfs.h"
@@ -80,6 +83,7 @@
#include "xfs_refcount_btree.h"
#include "xfs_refcount.h"
#include "xfs_btree_staging.h"
+#include "xfs_rtbitmap.h"
#ifndef ARRAY_SIZE
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
diff --git a/libxfs/Makefile b/libxfs/Makefile
index 010ee68..6f688c0 100644
--- a/libxfs/Makefile
+++ b/libxfs/Makefile
@@ -50,6 +50,7 @@
xfs_refcount_btree.h \
xfs_rmap.h \
xfs_rmap_btree.h \
+ xfs_rtbitmap.h \
xfs_sb.h \
xfs_shared.h \
xfs_trans_resv.h \
diff --git a/libxfs/xfs_rtbitmap.c b/libxfs/xfs_rtbitmap.c
index 8f31333..fb08349 100644
--- a/libxfs/xfs_rtbitmap.c
+++ b/libxfs/xfs_rtbitmap.c
@@ -931,7 +931,7 @@
*/
int
xfs_rtfree_extent(
- xfs_trans_t *tp, /* transaction pointer */
+ struct xfs_trans *tp, /* transaction pointer */
xfs_rtxnum_t start, /* starting rtext number to free */
xfs_rtxlen_t len) /* length of extent freed */
{
diff --git a/libxfs/xfs_rtbitmap.h b/libxfs/xfs_rtbitmap.h
index db2f8c9..c063705 100644
--- a/libxfs/xfs_rtbitmap.h
+++ b/libxfs/xfs_rtbitmap.h
@@ -6,9 +6,6 @@
#ifndef __XFS_RTBITMAP_H__
#define __XFS_RTBITMAP_H__
-/* For userspace XFS_RT is always defined */
-#define CONFIG_XFS_RT
-
struct xfs_rtalloc_args {
struct xfs_mount *mp;
struct xfs_trans *tp;
diff --git a/repair/rt.c b/repair/rt.c
index abe58b5..9f3bc8d 100644
--- a/repair/rt.c
+++ b/repair/rt.c
@@ -13,7 +13,6 @@
#include "protos.h"
#include "err_protos.h"
#include "rt.h"
-#include "xfs_rtbitmap.h"
#define xfs_highbit64 libxfs_highbit64 /* for XFS_RTBLOCKLOG macro */