Whamcloud - gitweb
LU-16667 build: kernel_cap_t contains u64
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index 9057da9..b546649 100644 (file)
@@ -3768,6 +3768,29 @@ AC_DEFUN([LC_HAVE_ACL_WITH_DENTRY], [
 ]) # LC_HAVE_ACL_WITH_DENTRY
 
 #
+# LC_HAVE_U64_CAPABILITY
+#
+# linux kernel v6.2-13111-gf122a08b197d
+#   capability: just use a 'u64' instead of a 'u32[2]' array
+#
+AC_DEFUN([LC_SRC_HAVE_U64_CAPABILITY], [
+       LB2_LINUX_TEST_SRC([kernel_cap_t_has_u64_value], [
+               #include <linux/cred.h>
+               #include <linux/capability.h>
+       ],[
+               kernel_cap_t cap __attribute__ ((unused));
+               cap.val = 0xffffffffffffffffull;
+       ],[-Werror])
+])
+AC_DEFUN([LC_HAVE_U64_CAPABILITY], [
+       AC_MSG_CHECKING([if 'kernel_cap_t' has u64 val])
+       LB2_LINUX_TEST_RESULT([kernel_cap_t_has_u64_value], [
+               AC_DEFINE(HAVE_U64_CAPABILITY, 1,
+                       ['kernel_cap_t' has u64 val])
+       ])
+]) # LC_HAVE_U64_CAPABILITY
+
+#
 # LC_PROG_LINUX
 #
 # Lustre linux kernel checks
@@ -4012,6 +4035,9 @@ AC_DEFUN([LC_PROG_LINUX_SRC], [
        LC_SRC_HAVE_GET_RANDOM_U32_BELOW
        LC_SRC_HAVE_ACL_WITH_DENTRY
 
+       # 6.3
+       LC_SRC_HAVE_U64_CAPABILITY
+
        # kernel patch to extend integrity interface
        LC_SRC_BIO_INTEGRITY_PREP_FN
 ])
@@ -4272,6 +4298,9 @@ AC_DEFUN([LC_PROG_LINUX_RESULTS], [
        LC_HAVE_GET_RANDOM_U32_BELOW
        LC_HAVE_ACL_WITH_DENTRY
 
+       # 6.3
+       LC_HAVE_U64_CAPABILITY
+
        # kernel patch to extend integrity interface
        LC_BIO_INTEGRITY_PREP_FN
 ])