On 04/01/24 11:42 pm, Darrick J. Wong wrote:
configure.ac | 8 ++++++++
src/ext4_resize.c | 6 +++++-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index b22fc52b..76378e6d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,6 +35,14 @@ AC_CHECK_HEADERS([ assert.h \
sys/mman.h \
])
+AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([#include <linux/ext4.h>], [])
+], [
+ AC_DEFINE([HAVE_LINUX_EXT4_H], [1], [Define if ext4.h is present])
+], [
+ AC_MSG_WARN([ext4.h not found or not compilable.])
+])
AC_CHECK_HEADERS does this.
+
AC_CHECK_HEADERS([xfs/xfs_log_format.h],,,[
#define _GNU_SOURCE
#include <xfs/libxfs.h>])
diff --git a/src/ext4_resize.c b/src/ext4_resize.c
index 78b66432..51bd8d78 100644
--- a/src/ext4_resize.c
+++ b/src/ext4_resize.c
@@ -14,7 +14,11 @@
#include <sys/ioctl.h>
#include <sys/mount.h>
-typedef unsigned long long __u64;
+#ifdef HAVE_LINUX_EXT4_H
+#include <linux/ext4.h>
+#else
+#include <linux/types.h>
You might as well include this unconditionally; there's no penalty
for including it multiple times.
--D
Thanks for reviewing the patch. I have addressed this in v3.
Thanks
+#endif
#ifndef EXT4_IOC_RESIZE_FS
#define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64)
--
2.39.1