]) # LC_TARGET_SUPPORTED
#
-# LC_CONFIG_OBD_BUFFER_SIZE
-#
-# the maximum buffer size of lctl ioctls
-#
-AC_DEFUN([LC_CONFIG_OBD_BUFFER_SIZE], [
-AC_MSG_CHECKING([for maximum OBD ioctl size])
-AC_ARG_WITH([obd-buffer-size],
- AC_HELP_STRING([--with-obd-buffer-size=[size]],
- [set lctl ioctl maximum bytes (default=8192)]),
- [OBD_BUFFER_SIZE=$with_obd_buffer_size],
- [OBD_BUFFER_SIZE=8192])
-AC_MSG_RESULT([$OBD_BUFFER_SIZE bytes])
-AC_DEFINE_UNQUOTED(CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER, $OBD_BUFFER_SIZE,
- [IOCTL Buffer Size])
-]) # LC_CONFIG_OBD_BUFFER_SIZE
-
-#
# LC_GLIBC_SUPPORT_FHANDLES
#
AC_DEFUN([LC_GLIBC_SUPPORT_FHANDLES], [
]) # LC_GLIBC_SUPPORT_FHANDLES
#
-# LC_FUNC_DEV_SET_RDONLY
-#
-# check whether dev_set_rdonly is exported. This is needed until we
-# have another mechanism to fence IO from the underlying device.
-#
-AC_DEFUN([LC_FUNC_DEV_SET_RDONLY], [
-LB_CHECK_EXPORT([dev_set_rdonly], [block/ll_rw_block.c block/blk-core.c],
- [AC_DEFINE(HAVE_DEV_SET_RDONLY, 1,
- [kernel exports dev_set_rdonly])],
- [AC_MSG_WARN([kernel missing dev_set_rdonly patch for testing])])
-]) # LC_FUNC_DEV_SET_RDONLY
-
-#
# LC_STACK_SIZE
#
# Ensure the stack size is at least 8k in Lustre server (all kernels)
]) # LC_CONFIG_SUNRPC
#
+# LC_HAVE_CRYPTO_HASH
+#
+# 4.6 kernel commit 896545098777564212b9e91af4c973f094649aa7
+# removed crypto_hash support. Since GSS only works with
+# crypto_hash it has to be disabled for newer distros.
+#
+AC_DEFUN([LC_HAVE_CRYPTO_HASH], [
+LB_CHECK_COMPILE([if crypto_hash API is supported],
+crypto_hash, [
+ #include <linux/crypto.h>
+],[
+ crypto_hash_digestsize(NULL);
+], [], [enable_gss="no"])
+])
+]) # LC_HAVE_CRYPTO_HASH
+
+#
# LC_CONFIG_GSS (default 'auto' (tests for dependencies, if found, enables))
#
# Build gss and related tools of Lustre. Currently both kernel and user space
AS_IF([test "x$enable_gss" != xno], [
LC_CONFIG_GSS_KEYRING
+ LC_HAVE_CRYPTO_HASH
LC_HAVE_CRED_TGCRED
LC_KEY_TYPE_INSTANTIATE_2ARGS
sunrpc_required=$enable_gss
]) # LC_BLK_QUEUE_MAX_SEGMENTS
#
+# LC_HAVE_XATTR_HANDLER_FLAGS
+#
+# 2.6.33 added a private flag to xattr_handler
+#
+AC_DEFUN([LC_HAVE_XATTR_HANDLER_FLAGS], [
+LB_CHECK_COMPILE([if 'struct xattr_handler' has flags field],
+xattr_handler_flags, [
+ #include <linux/xattr.h>
+],[
+ struct xattr_handler handler;
+
+ handler.flags = 0;
+],[
+ AC_DEFINE(HAVE_XATTR_HANDLER_FLAGS, 1, [flags field exist])
+])
+]) # LC_HAVE_XATTR_HANDLER_FLAGS
+
+#
# LC_HAVE_DQUOT_FS_DISK_QUOTA
#
# 2.6.34 has quotactl_ops->[sg]et_dqblk that take struct fs_disk_quota
]) # LC_IOP_TRUNCATE
#
-# LC_REQUEST_QUEUE_UNPLUG_FN
-#
-# 2.6.39 remove unplug_fn from request_queue.
-#
-AC_DEFUN([LC_REQUEST_QUEUE_UNPLUG_FN], [
-LB_CHECK_COMPILE([if 'request_queue' has 'unplug_fn' field],
-request_queue_unplug_fn, [
- #include <linux/blkdev.h>
-],[
- do {} while(sizeof(((struct request_queue *)0)->unplug_fn));
-],[
- AC_DEFINE(HAVE_REQUEST_QUEUE_UNPLUG_FN, 1,
- [request_queue has unplug_fn field])
-])
-]) # LC_REQUEST_QUEUE_UNPLUG_FN
-
-#
# LC_HAVE_FSTYPE_MOUNT
#
# 2.6.39 replace get_sb with mount in struct file_system_type
]) # LC_RADIX_EXCEPTION_ENTRY
#
-# LC_HAVE_VOID_MAKE_REQUEST_FN
-#
-# 3.2 request_queue.make_request_fn defined as function returns with void
-# see kernel commit 5a7bbad27a410350e64a2d7f5ec18fc73836c14f
-#
-AC_DEFUN([LC_HAVE_VOID_MAKE_REQUEST_FN], [
-LB_CHECK_COMPILE([if 'request_queue.make_request_fn' returns void but not int],
-make_request_fn_void, [
- #include <linux/blkdev.h>
-],[
- int ret;
- make_request_fn *mrf;
- ret = mrf(NULL, NULL);
-],[],[
- AC_DEFINE(HAVE_VOID_MAKE_REQUEST_FN, 1,
- [request_queue.make_request_fn returns void but not int])
-])
-]) # LC_HAVE_VOID_MAKE_REQUEST_FN
-
-#
# LC_HAVE_PROTECT_I_NLINK
#
# 3.2 protects inode->i_nlink from direct modification
])
]) # LC_HAVE_PROC_REMOVE
-#
-# LC_BLKDEV_RELEASE_RETURN_INT
-#
-# 3.10 release for block device doesn't return int
-#
-AC_DEFUN([LC_BLKDEV_RELEASE_RETURN_INT], [
-LB_CHECK_COMPILE([if 'block_device_operations' release returns 'int'],
-block_device_ops_release_return_int, [
- #include <linux/blkdev.h>
-],[
- struct block_device_operations fops;
- int i __attribute__ ((unused));
-
- i = fops.release(NULL, 0);
-],[
- AC_DEFINE(HAVE_BLKDEV_RELEASE_RETURN_INT, 1,
- [block device release returns int])
-])
-]) # LC_BLKDEV_RELEASE_RETURN_INT
-
AC_DEFUN([LC_HAVE_PROJECT_QUOTA], [
LB_CHECK_COMPILE([if get_projid exists],
get_projid, [
]) # LC_HAVE_BVEC_ITER
#
+# LC_IOP_SET_ACL
+#
+# 3.14 adds set_acl method to inode_operations
+# see kernel commit 893d46e443346370cd4ea81d9d35f72952c62a37
+#
+AC_DEFUN([LC_IOP_SET_ACL], [
+LB_CHECK_COMPILE([if 'inode_operations' has '.set_acl' member function],
+inode_ops_set_acl, [
+ #include <linux/fs.h>
+],[
+ struct inode_operations iop;
+ iop.set_acl = NULL;
+],[
+ AC_DEFINE(HAVE_IOP_SET_ACL, 1,
+ [inode_operations has .set_acl member function])
+])
+]) # LC_IOP_SET_ACL
+
+#
# LC_HAVE_BI_CNT
#
# 4.4 redefined bi_cnt as __bi_cnt
]) # LC_HAVE_BI_CNT
#
+# LC_HAVE_BI_RW
+#
+# 4.4 redefined bi_rw as bi_opf
+#
+AC_DEFUN([LC_HAVE_BI_RW], [
+LB_CHECK_COMPILE([if Linux kernel has bi_rw in struct bio],
+have_bi_rw, [
+ #include <linux/bio.h>
+],[
+ struct bio bio;
+ bio.bi_rw;
+], [
+ AC_DEFINE(HAVE_BI_RW, 1,
+ [struct bio has bi_rw])
+])
+]) # LC_HAVE_BI_RW
+
+#
+# LC_HAVE_SUBMIT_BIO_2ARGS
+#
+# 4.4 removed an argument from submit_bio
+#
+AC_DEFUN([LC_HAVE_SUBMIT_BIO_2ARGS], [
+LB_CHECK_COMPILE([if submit_bio takes two arguments],
+have_submit_bio_2args, [
+ #include <linux/bio.h>
+],[
+ struct bio bio;
+ submit_bio(READ, &bio);
+], [
+ AC_DEFINE(HAVE_SUBMIT_BIO_2ARGS, 1,
+ [submit_bio takes two arguments])
+])
+]) # LC_HAVE_SUBMIT_BIO_2_ARGS
+
+#
+# LC_HAVE_CLEAN_BDEV_ALIASES
+#
+# 4.4 unmap_underlying_metadata was replaced by clean_bdev_aliases
+#
+AC_DEFUN([LC_HAVE_CLEAN_BDEV_ALIASES], [
+LB_CHECK_COMPILE([if kernel has clean_bdev_aliases],
+have_clean_bdev_aliases, [
+ #include <linux/buffer_head.h>
+],[
+ struct block_device bdev;
+ clean_bdev_aliases(&bdev,1,1);
+], [
+ AC_DEFINE(HAVE_CLEAN_BDEV_ALIASES, 1,
+ [kernel has clean_bdev_aliases])
+])
+]) # LC_HAVE_CLEAN_BDEV_ALIASES
+
+#
# LC_HAVE_TRUNCATE_IPAGE_FINAL
#
# 3.14 bring truncate_inode_pages_final for evict_inode
]) # LC_HAVE_CACHE_HEAD_HLIST
#
+# LC_HAVE_XATTR_HANDLER_SIMPLIFIED
+#
+# Kernel version 4.3 commit e409de992e3ea3674393465f07cc71c948edd87a
+# simplified xattr_handler handling by passing in the handler pointer
+#
+AC_DEFUN([LC_HAVE_XATTR_HANDLER_SIMPLIFIED], [
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_CHECK_COMPILE([if 'struct xattr_handler' functions pass in handler pointer],
+xattr_handler_simplified, [
+ #include <linux/xattr.h>
+],[
+ struct xattr_handler handler;
+
+ ((struct xattr_handler *)0)->get(&handler, NULL, NULL, NULL, 0);
+ ((struct xattr_handler *)0)->set(&handler, NULL, NULL, NULL, 0, 0);
+],[
+ AC_DEFINE(HAVE_XATTR_HANDLER_SIMPLIFIED, 1, [handler pointer is parameter])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+]) # LC_HAVE_XATTR_HANDLER_SIMPLIFIED
+
+#
# LC_HAVE_LOCKS_LOCK_FILE_WAIT
#
# 4.4 kernel have moved locks API users to
]) # LC_HAVE_LOCKS_LOCK_FILE_WAIT
#
-# LC_HAVE_QC_MAKE_REQUEST_FN
-#
-# 4.4 request_queue.make_request_fn defined as function returns with blk_qc_t
-# see kernel commit dece16353ef47d8d33f5302bc158072a9d65e26f
-#
-AC_DEFUN([LC_HAVE_QC_MAKE_REQUEST_FN], [
-LB_CHECK_COMPILE([if 'request_queue.make_request_fn' returns blk_qc_t],
-make_request_fn_blk_qc_t, [
- #include <linux/blkdev.h>
-],[
- blk_qc_t ret;
- make_request_fn *mrf;
- ret = mrf(NULL, NULL);
-],[
- AC_DEFINE(HAVE_QC_MAKE_REQUEST_FN, 1,
- [request_queue.make_request_fn returns blk_qc_t])
-])
-]) # LC_HAVE_QC_MAKE_REQUEST_FN
-
-#
# LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
#
# 4.4 kernel merged type-specific data with the payload data for keys
]) # LC_HAVE_IN_COMPAT_SYSCALL
#
+# LC_HAVE_XATTR_HANDLER_INODE_PARAM
+#
+# Kernel version 4.6 commit b296821a7c42fa58baa17513b2b7b30ae66f3336
+# and commit 5930122683dff58f0846b0f0405b4bd598a3ba6a added inode parameter
+# to xattr_handler functions
+#
+AC_DEFUN([LC_HAVE_XATTR_HANDLER_INODE_PARAM], [
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_CHECK_COMPILE([if 'struct xattr_handler' functions have inode parameter],
+xattr_handler_inode_param, [
+ #include <linux/xattr.h>
+],[
+ const struct xattr_handler handler;
+
+ ((struct xattr_handler *)0)->get(&handler, NULL, NULL, NULL, NULL, 0);
+ ((struct xattr_handler *)0)->set(&handler, NULL, NULL, NULL, NULL, 0, 0);
+],[
+ AC_DEFINE(HAVE_XATTR_HANDLER_INODE_PARAM, 1, [needs inode parameter])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+]) # LC_HAVE_XATTR_HANDLER_INODE_PARAM
+
+#
# LC_DIRECTIO_2ARGS
#
# Kernel version 4.7 commit c8b8e32d700fe943a935e435ae251364d016c497
]) # LC_FULL_NAME_HASH_3ARGS
#
+# LC_STRUCT_POSIX_ACL_XATTR
+#
+# Kernel version 4.8 commit 2211d5ba5c6c4e972ba6dbc912b2897425ea6621
+# posix_acl: xattr representation cleanups
+#
+AC_DEFUN([LC_STRUCT_POSIX_ACL_XATTR], [
+LB_CHECK_COMPILE([if 'struct posix_acl_xattr_{header,entry}' defined],
+struct_posix_acl_xattr, [
+ #include <linux/fs.h>
+ #include <linux/posix_acl_xattr.h>
+],[
+ struct posix_acl_xattr_header *h = NULL;
+ struct posix_acl_xattr_entry *e;
+ e = (void *)(h + 1);
+],[
+ AC_DEFINE(HAVE_STRUCT_POSIX_ACL_XATTR, 1,
+ [struct posix_acl_xattr_{header,entry} defined])
+])
+]) # LC_STRUCT_POSIX_ACL_XATTR
+
+#
+# LC_IOP_XATTR
+#
+# Kernel version 4.8 commit fd50ecaddf8372a1d96e0daeaac0f93cf04e4d42
+# removed {get,set,remove}xattr inode operations
+#
+AC_DEFUN([LC_IOP_XATTR], [
+LB_CHECK_COMPILE([if 'inode_operations' has {get,set,remove}xattr members],
+inode_ops_xattr, [
+ #include <linux/fs.h>
+],[
+ struct inode_operations iop;
+ iop.setxattr = NULL;
+ iop.getxattr = NULL;
+ iop.removexattr = NULL;
+],[
+ AC_DEFINE(HAVE_IOP_XATTR, 1,
+ [inode_operations has {get,set,remove}xattr members])
+])
+]) # LC_IOP_XATTR
+
+#
# LC_GROUP_INFO_GID
#
# Kernel version 4.9 commit 81243eacfa400f5f7b89f4c2323d0de9982bb0fb
]) # LC_GROUP_INFO_GID
#
-# LC_STRUCT_POSIX_ACL_XATTR
+# LC_VFS_SETXATTR
#
-# Kernel version 4.8 commit 2211d5ba5c6c4e972ba6dbc912b2897425ea6621
-# posix_acl: xattr representation cleanups
+# Kernel version 4.9 commit 5d6c31910bc0713e37628dc0ce677dcb13c8ccf4
+# added __vfs_{get,set,remove}xattr helpers
#
-AC_DEFUN([LC_STRUCT_POSIX_ACL_XATTR], [
-LB_CHECK_COMPILE([if 'struct posix_acl_xattr_{header,entry}' defined],
-struct_posix_acl_xattr, [
+AC_DEFUN([LC_VFS_SETXATTR], [
+LB_CHECK_COMPILE([if '__vfs_setxattr' helper is available],
+vfs_setxattr, [
+ #include <linux/xattr.h>
+],[
+ __vfs_setxattr(NULL, NULL, NULL, NULL, 0, 0);
+],[
+ AC_DEFINE(HAVE_VFS_SETXATTR, 1,
+ ['__vfs_setxattr is available])
+])
+]) # LC_VFS_SETXATTR
+
+#
+# LC_IOP_GENERIC_READLINK
+#
+# Kernel version 4.10 commit dfeef68862edd7d4bafe68ef7aeb5f658ef24bb5
+# removed generic_readlink from individual file systems
+#
+AC_DEFUN([LC_IOP_GENERIC_READLINK], [
+LB_CHECK_COMPILE([if 'generic_readlink' still exist],
+inode_ops_readlink, [
#include <linux/fs.h>
- #include <linux/posix_acl_xattr.h>
],[
- struct posix_acl_xattr_header *h = NULL;
- struct posix_acl_xattr_entry *e;
- e = (void *)(h + 1);
+ struct inode_operations iop;
+ iop.readlink = generic_readlink;
],[
- AC_DEFINE(HAVE_STRUCT_POSIX_ACL_XATTR, 1,
- [struct posix_acl_xattr_{header,entry} defined])
+ AC_DEFINE(HAVE_IOP_GENERIC_READLINK, 1,
+ [generic_readlink has been removed])
])
-]) # LC_STRUCT_POSIX_ACL_XATTR
+]) # LC_IOP_GENERIC_READLINK
+
+#
+# LC_HAVE_VM_FAULT_ADDRESS
+#
+# Kernel version 4.10 commit 1a29d85eb0f19b7d8271923d8917d7b4f5540b3e
+# removed virtual_address field. Need to use address field instead
+#
+AC_DEFUN([LC_HAVE_VM_FAULT_ADDRESS], [
+LB_CHECK_COMPILE([if 'struct vm_fault' replaced virtual_address with address field],
+vm_fault_address, [
+ #include <linux/mm.h>
+],[
+ struct vm_fault vmf;
+ vmf.address = NULL;
+],[
+ AC_DEFINE(HAVE_VM_FAULT_ADDRESS, 1,
+ [virtual_address has been replaced by address field])
+])
+]) # LC_HAVE_VM_FAULT_ADDRESS
+
+#
+# LC_INODEOPS_ENHANCED_GETATTR
+#
+# Kernel version 4.11 commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f
+# expanded getattr to be able to get more stat information.
+#
+AC_DEFUN([LC_INODEOPS_ENHANCED_GETATTR], [
+LB_CHECK_COMPILE([if 'inode_operations' getattr member can gather advance stats],
+getattr_path, [
+ #include <linux/fs.h>
+],[
+ struct path path;
+
+ ((struct inode_operations *)1)->getattr(&path, NULL, 0, 0);
+],[
+ AC_DEFINE(HAVE_INODEOPS_ENHANCED_GETATTR, 1,
+ [inode_operations .getattr member function can gather advance stats])
+])
+]) # LC_INODEOPS_ENHANCED_GETATTR
+
+#
+# LC_VM_OPERATIONS_REMOVE_VMF_ARG
+#
+# Kernel version 4.11 commit 11bac80004499ea59f361ef2a5516c84b6eab675
+# removed struct vm_area_struct as an argument for vm_operations since
+# in the same kernel version struct vma_area_struct was folded into
+# struct vm_fault.
+#
+AC_DEFUN([LC_VM_OPERATIONS_REMOVE_VMF_ARG], [
+LB_CHECK_COMPILE([if 'struct vm_operations' removed struct vm_area_struct],
+vm_operations_no_vm_area_struct, [
+ #include <linux/mm.h>
+],[
+ struct vm_fault vmf;
+
+ ((struct vm_operations_struct *)0)->fault(&vmf);
+ ((struct vm_operations_struct *)0)->page_mkwrite(&vmf);
+],[
+ AC_DEFINE(HAVE_VM_OPS_USE_VM_FAULT_ONLY, 1,
+ ['struct vm_operations' remove struct vm_area_struct argument])
+])
+]) # LC_VM_OPERATIONS_REMOVE_VMF_ARG
+
+#
+# Kernel version 4.12 commit 47f38c539e9a42344ff5a664942075bd4df93876
+# CURRENT_TIME is not 64 bit time safe so it was replaced with
+# current_time()
+#
+AC_DEFUN([LC_CURRENT_TIME], [
+LB_CHECK_COMPILE([if CURRENT_TIME has been replaced with current_time],
+current_time, [
+ #include <linux/fs.h>
+],[
+ struct timespec ts = current_time(NULL);
+],[
+ AC_DEFINE(HAVE_CURRENT_TIME, 1,
+ [current_time() has replaced CURRENT_TIME])
+])
+]) # LIBCFS_CURRENT_TIME
#
# LC_PROG_LINUX
# 2.6.32
LC_BLK_QUEUE_MAX_SEGMENTS
+ # 2.6.33
+ LC_HAVE_XATTR_HANDLER_FLAGS
+
# 2.6.34
LC_HAVE_DQUOT_FS_DISK_QUOTA
LC_HAVE_DQUOT_SUSPEND
LC_HAVE_BLK_PLUG
# 2.6.39
- LC_REQUEST_QUEUE_UNPLUG_FN
LC_HAVE_FHANDLE_SYSCALLS
LC_HAVE_FSTYPE_MOUNT
LC_IOP_TRUNCATE
LC_HAVE_LOOP_CTL_GET_FREE
# 3.2
- LC_HAVE_VOID_MAKE_REQUEST_FN
LC_HAVE_PROTECT_I_NLINK
# 3.3
LC_HAVE_IS_SXID
# 3.10
- LC_BLKDEV_RELEASE_RETURN_INT
LC_HAVE_REMOVE_PROC_SUBTREE
LC_HAVE_PROC_REMOVE
LC_HAVE_PROJECT_QUOTA
LC_HAVE_BVEC_ITER
LC_HAVE_TRUNCATE_IPAGES_FINAL
LC_IOPS_RENAME_WITH_FLAGS
+ LC_IOP_SET_ACL
# 3.15
LC_VFS_RENAME_6ARGS
# 4.3
LC_HAVE_CACHE_HEAD_HLIST
+ LC_HAVE_XATTR_HANDLER_SIMPLIFIED
# 4.4
LC_HAVE_LOCKS_LOCK_FILE_WAIT
- LC_HAVE_QC_MAKE_REQUEST_FN
LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
LC_HAVE_BI_CNT
+ LC_HAVE_BI_RW
+ LC_HAVE_SUBMIT_BIO_2ARGS
+ LC_HAVE_CLEAN_BDEV_ALIASES
# 4.5
LC_HAVE_FILE_DENTRY
# 4.6
LC_HAVE_IN_COMPAT_SYSCALL
+ LC_HAVE_XATTR_HANDLER_INODE_PARAM
# 4.7
LC_DIRECTIO_2ARGS
LC_D_COMPARE_4ARGS
LC_FULL_NAME_HASH_3ARGS
LC_STRUCT_POSIX_ACL_XATTR
+ LC_IOP_XATTR
# 4.9
LC_GROUP_INFO_GID
+ LC_VFS_SETXATTR
+
+ # 4.10
+ LC_IOP_GENERIC_READLINK
+ LC_HAVE_VM_FAULT_ADDRESS
+
+ # 4.11
+ LC_INODEOPS_ENHANCED_GETATTR
+ LC_VM_OPERATIONS_REMOVE_VMF_ARG
+
+ # 4.12
+ LC_CURRENT_TIME
#
AS_IF([test "x$enable_server" != xno], [
- LC_FUNC_DEV_SET_RDONLY
LC_STACK_SIZE
LC_QUOTA64
LC_QUOTA_CONFIG
AC_MSG_NOTICE([Lustre core checks
==============================================================================])
-LC_CONFIG_OBD_BUFFER_SIZE
-
AS_IF([test $target_cpu == "i686" -o $target_cpu == "x86_64"],
[CFLAGS="$CFLAGS -Wall -Werror"])
AM_CONDITIONAL(GSS_SSK, test x$enable_ssk = xyes)
AM_CONDITIONAL(LIBPTHREAD, test x$enable_libpthread = xyes)
AM_CONDITIONAL(HAVE_SYSTEMD, test "x$with_systemdsystemunitdir" != "xno")
+AM_CONDITIONAL(XATTR_HANDLER, test "x$lb_cv_compile_xattr_handler_flags" = xyes)
]) # LC_CONDITIONALS
#
lustre/doc/Makefile
lustre/include/Makefile
lustre/include/lustre/Makefile
-lustre/include/uapi/linux/Makefile
+lustre/include/uapi/linux/lustre/Makefile
lustre/kernel_patches/targets/3.10-rhel7.target
lustre/kernel_patches/targets/2.6-rhel6.9.target
lustre/kernel_patches/targets/2.6-rhel6.8.target
lustre/kernel_patches/targets/3.0-sles11sp4.target
lustre/kernel_patches/targets/3.12-sles12.target
lustre/kernel_patches/targets/4.4-sles12.target
+lustre/kernel_patches/targets/4.4-sles12sp3.target
lustre/kernel_patches/targets/2.6-fc11.target
lustre/kernel_patches/targets/2.6-fc12.target
lustre/kernel_patches/targets/2.6-fc15.target
lustre/scripts/systemd/Makefile
lustre/tests/Makefile
lustre/tests/mpi/Makefile
+lustre/tests/kernel/Makefile
+lustre/tests/kernel/autoMakefile
lustre/utils/Makefile
lustre/utils/gss/Makefile
lustre/osp/Makefile