]) # 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
int main(void) {
int rc;
- HMAC_CTX ctx;
- HMAC_CTX_init(&ctx);
- rc = HMAC_Init_ex(&ctx, "test", 4, EVP_md_null(), NULL);
+ rc = HMAC_Init_ex(NULL, "test", 4, EVP_md_null(), NULL);
}
])],[AC_DEFINE(HAVE_OPENSSL_SSK, 1,
[OpenSSL HMAC functions needed for SSK])],
__add_wait_queue_exclusive, [
#include <linux/wait.h>
],[
- wait_queue_head_t queue;
- wait_queue_t wait;
+ wait_queue_head_t queue = { };
+ wait_queue_t wait = { };
__add_wait_queue_exclusive(&queue, &wait);
],[
#include <linux/spinlock.h>
#include <linux/fs_struct.h>
],[
- ((struct fs_struct *)0)->lock = (rwlock_t){ 0 };
+ struct fs_struct fss = { };
+ rwlock_t rwl = { };
+
+ fss.lock = rwl;
],[
AC_DEFINE(HAVE_FS_STRUCT_RWLOCK, 1, [fs_struct.lock use rwlock])
])
]) # LC_HAVE_BLK_PLUG
#
-# LC_IOP_TRUNCATE
-#
-# truncate callback removed since 2.6.39
-#
-AC_DEFUN([LC_IOP_TRUNCATE], [
-LB_CHECK_COMPILE([if 'inode_operations' has '.truncate' member function],
-inode_ops_truncate, [
- #include <linux/fs.h>
-],[
- ((struct inode_operations *)0)->truncate(NULL);
-],[
- AC_DEFINE(HAVE_INODEOPS_TRUNCATE, 1,
- [inode_operations has .truncate member function])
-])
-]) # LC_IOP_TRUNCATE
-
-#
# LC_HAVE_FSTYPE_MOUNT
#
# 2.6.39 replace get_sb with mount in struct file_system_type
file_system_type_mount, [
#include <linux/fs.h>
],[
- struct file_system_type fst;
- void *i = (void *) fst.mount;
+ struct file_system_type fst = { };
+ void *mount;
+
+ mount = (void *)fst.mount;
],[
AC_DEFINE(HAVE_FSTYPE_MOUNT, 1,
[struct file_system_type has mount field])
dirty_inode_super_operation_flag, [
#include <linux/fs.h>
],[
- struct inode *inode;
+ struct inode *inode = NULL;
inode->i_sb->s_op->dirty_inode(NULL, 0);
],[
AC_DEFINE(HAVE_DIRTY_INODE_HAS_FLAG, 1,
#include <linux/migrate_mode.h>
#endif
],[
- struct address_space_operations aops;
+ struct address_space_operations aops = { };
aops.migratepage(NULL, NULL, NULL, MIGRATE_ASYNC);
],[
AC_DEFINE(HAVE_MIGRATEPAGE_4ARGS, 1,
bio_end_sector, [
#include <linux/bio.h>
],[
- struct bio bio;
+ struct bio bio = { };
+ unsigned long long end;
- bio_end_sector(&bio);
+ end = bio_end_sector(&bio);
],[
AC_DEFINE(HAVE_BIO_END_SECTOR, 1,
[bio_end_sector is defined])
is_sxid, [
#include <linux/fs.h>
],[
- struct inode inode;
+ struct inode inode = { };
is_sxid(inode.i_mode);
],[
AC_DEFUN([LC_HAVE_PROJECT_QUOTA], [
LB_CHECK_COMPILE([if get_projid exists],
get_projid, [
+ struct inode;
#include <linux/quota.h>
],[
- struct dquot_operations ops;
+ struct dquot_operations ops = { };
ops.get_projid(NULL, NULL);
],[
#error "back to use readdir in kabi_extand mode"
#else
struct dir_context ctx;
+
ctx.pos = 0;
#endif
],[
# 3.11 need to access d_count to get dentry reference count
#
AC_DEFUN([LC_HAVE_DCOUNT], [
-LB_CHECK_COMPILE([if 'd_count' exist],
+LB_CHECK_COMPILE([if 'd_count' exists],
d_count, [
#include <linux/dcache.h>
],[
- struct dentry de;
- d_count(&de);
+ struct dentry de = { };
+ int count;
+
+ count = d_count(&de);
],[
AC_DEFINE(HAVE_D_COUNT, 1,
[d_count exist])
]) # LC_KIOCB_KI_LEFT
#
+# LC_INIT_LIST_HEAD_RCU
+#
+# 3.12 added INIT_LIST_HEAD_RCU in commit 2a855b644c310d5db5
+# which is unfortunately an inline function and not a macro
+# that can be tested directly, so it needs a configure check.
+#
+AC_DEFUN([LC_INIT_LIST_HEAD_RCU], [
+LB_CHECK_COMPILE([if 'INIT_LIST_HEAD_RCU' exists],
+init_list_head_rcu, [
+ #include <linux/list.h>
+ #include <linux/rculist.h>
+],[
+ struct list_head list;
+ INIT_LIST_HEAD_RCU(&list);
+],[
+ AC_DEFINE(HAVE_INIT_LIST_HEAD_RCU, 1,
+ [INIT_LIST_HEAD_RCU exists])
+])
+]) # LC_INIT_LIST_HEAD_RCU
+
+#
# LC_VFS_RENAME_5ARGS
#
# 3.13 has vfs_rename with 5 args
#include <linux/bio.h>
],[
struct bvec_iter iter;
+
iter.bi_bvec_done = 0;
], [
AC_DEFINE(HAVE_BVEC_ITER, 1,
]) # LC_IOP_SET_ACL
#
-# LC_HAVE_BI_CNT
-#
-# 4.4 redefined bi_cnt as __bi_cnt
-#
-AC_DEFUN([LC_HAVE_BI_CNT], [
-LB_CHECK_COMPILE([if Linux kernel has bi_cnt in struct bio],
-have_bi_cnt, [
- #include <asm/atomic.h>
- #include <linux/bio.h>
-],[
- struct bio bio;
- int cnt;
- cnt = atomic_read(&bio.bi_cnt);
-], [
- AC_DEFINE(HAVE_BI_CNT, 1,
- [struct bio has 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
direct_io_iter, [
#include <linux/fs.h>
],[
- struct address_space_operations ops;
+ struct address_space_operations ops = { };
struct iov_iter *iter = NULL;
loff_t offset = 0;
]) # LC_HAVE_FILE_OPERATIONS_READ_WRITE_ITER
#
+# LC_HAVE_INTERVAL_BLK_INTEGRITY
+#
+# 3.17 replace sector_size with interval in struct blk_integrity
+#
+AC_DEFUN([LC_HAVE_INTERVAL_BLK_INTEGRITY], [
+LB_CHECK_COMPILE([if 'blk_integrity.interval' exist],
+interval_blk_integrity, [
+ #include <linux/blkdev.h>
+],[
+ ((struct blk_integrity *)0)->interval = 0;
+],[
+ AC_DEFINE(HAVE_INTERVAL_BLK_INTEGRITY, 1,
+ [blk_integrity.interval exist])
+])
+]) # LC_HAVE_INTERVAL_BLK_INTEGRITY
+
+#
# LC_KEY_MATCH_DATA
#
# 3.17 replaces key_type::match with match_preparse
#include <linux/key-type.h>
],[
struct key_match_data data;
+
+ data.raw_data = NULL;
],[
AC_DEFINE(HAVE_KEY_MATCH_DATA, 1,
[struct key_match_data exist])
ki_nbytes, [
#include <linux/fs.h>
],[
- struct kiocb iocb;
+ struct kiocb iocb = { };
iocb.ki_nbytes = 0;
],[
]) # LC_HAVE_SYNC_READ_WRITE
#
+# LC_HAVE___BI_CNT
+#
+# 4.1 redefined bi_cnt as __bi_cnt in commit dac56212e8127dbc0
+#
+AC_DEFUN([LC_HAVE___BI_CNT], [
+LB_CHECK_COMPILE([if Linux kernel has __bi_cnt in struct bio],
+have___bi_cnt, [
+ #include <asm/atomic.h>
+ #include <linux/bio.h>
+ #include <linux/blk_types.h>
+],[
+ struct bio bio = { };
+ int cnt;
+ cnt = atomic_read(&bio.__bi_cnt);
+], [
+ AC_DEFINE(HAVE___BI_CNT, 1,
+ [struct bio has __bi_cnt])
+])
+]) # LC_HAVE___BI_CNT
+
+#
# LC_NEW_CANCEL_DIRTY_PAGE
#
# 4.2 kernel has new cancel_dirty_page
]) # LC_BIO_ENDIO_USES_ONE_ARG
#
+# LC_HAVE_INTERVAL_EXP_BLK_INTEGRITY
+#
+# 4.3 replace interval with interval_exp in 'struct blk_integrity'
+# 'struct blk_integrity_profile' is also added in this version,
+# thus use this to determine whether 'struct blk_integrity' has profile
+#
+AC_DEFUN([LC_HAVE_INTERVAL_EXP_BLK_INTEGRITY], [
+LB_CHECK_COMPILE([if 'blk_integrity.interval_exp' exist],
+blk_integrity_interval_exp, [
+ #include <linux/blkdev.h>
+],[
+ ((struct blk_integrity *)0)->interval_exp = 0;
+],[
+ AC_DEFINE(HAVE_INTERVAL_EXP_BLK_INTEGRITY, 1,
+ [blk_integrity.interval_exp exist])
+])
+]) # LC_HAVE_INTERVAL_EXP_BLK_INTEGRITY
+
+#
# LC_HAVE_LOOP_CTL_GET_FREE
#
# 4.x kernel have moved userspace APIs to
]) # LC_HAVE_XATTR_HANDLER_SIMPLIFIED
#
+# LC_HAVE_BIP_ITER_BIO_INTEGRITY_PAYLOAD
+#
+# 4.3 replace interval with interval_exp in 'struct blk_integrity'.
+#
+AC_DEFUN([LC_HAVE_BIP_ITER_BIO_INTEGRITY_PAYLOAD], [
+LB_CHECK_COMPILE([if 'bio_integrity_payload.bip_iter' exist],
+bio_integrity_payload_bip_iter, [
+ #include <linux/bio.h>
+],[
+ ((struct bio_integrity_payload *)0)->bip_iter.bi_size = 0;
+],[
+ AC_DEFINE(HAVE_BIP_ITER_BIO_INTEGRITY_PAYLOAD, 1,
+ [bio_integrity_payload.bip_iter exist])
+])
+]) # LC_HAVE_BIP_ITER_BIO_INTEGRITY_PAYLOAD
+
+#
+# LC_BIO_INTEGRITY_PREP_FN
+#
+# Lustre kernel patch extents bio_integrity_prep to accept optional
+# generate/verify_fn as extra args.
+#
+AC_DEFUN([LC_BIO_INTEGRITY_PREP_FN], [
+LB_CHECK_COMPILE([if 'bio_integrity_prep_fn' exists],
+bio_integrity_prep_fn, [
+ #include <linux/bio.h>
+],[
+ bio_integrity_prep_fn(NULL, NULL, NULL);
+],[
+ AC_DEFINE(HAVE_BIO_INTEGRITY_PREP_FN, 1,
+ [kernel has bio_integrity_prep_fn])
+ AC_SUBST(PATCHED_INTEGRITY_INTF)
+],[
+ AC_SUBST(PATCHED_INTEGRITY_INTF, [#])
+])
+]) # LC_BIO_INTEGRITY_PREP_FN
+
+#
+# LC_HAVE_BI_OPF
+#
+# 4.4/4.8 redefined bi_rw as bi_opf (SLES12/kernel commit 4382e33ad37486)
+#
+AC_DEFUN([LC_HAVE_BI_OPF], [
+LB_CHECK_COMPILE([if Linux kernel has bi_opf in struct bio],
+have_bi_opf, [
+ #include <linux/bio.h>
+],[
+ struct bio bio;
+
+ bio.bi_opf = 0;
+], [
+ AC_DEFINE(HAVE_BI_OPF, 1,
+ [struct bio has bi_opf])
+])
+]) # LC_HAVE_BI_OPF
+
+#
+# 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/4.9 unmap_underlying_metadata was replaced by clean_bdev_aliases
+# (SLES12/kernel commit 29f3ad7d8380364c)
+#
+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_LOCKS_LOCK_FILE_WAIT
#
# 4.4 kernel have moved locks API users to
key_payload_data_array, [
#include <linux/key.h>
],[
- ((struct key *)0)->payload.data[0] = NULL;
+ struct key key = { };
+
+ key.payload.data[0] = NULL;
],[
AC_DEFINE(HAVE_KEY_PAYLOAD_DATA_ARRAY, 1, [payload.data is an array])
])
]) # LC_HAVE_XATTR_HANDLER_INODE_PARAM
#
+# LC_D_IN_LOOKUP
+#
+# Kernel version 4.6 commit 85c7f81041d57cfe9dc97f4680d5586b54534a39
+# introduced parallel lookups in the VFS layer. The inline function
+# d_in_lookup was added to notify when the same item was being queried
+# at the same time.
+#
+AC_DEFUN([LC_D_IN_LOOKUP], [
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_CHECK_COMPILE([if 'd_in_lookup' is defined],
+d_in_lookup, [
+ #include <linux/dcache.h>
+],[
+ d_in_lookup(NULL);
+],[
+ AC_DEFINE(HAVE_D_IN_LOOKUP, 1, [d_in_lookup is defined])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+]) # LC_D_IN_LOOKUP
+
+#
# LC_DIRECTIO_2ARGS
#
# Kernel version 4.7 commit c8b8e32d700fe943a935e435ae251364d016c497
direct_io_2args, [
#include <linux/fs.h>
],[
- struct address_space_operations ops;
+ struct address_space_operations ops = { };
struct iov_iter *iter = NULL;
struct kiocb *iocb = NULL;
int rc;
+
rc = ops.direct_IO(iocb, iter);
],[
AC_DEFINE(HAVE_DIRECTIO_2ARGS, 1,
],[
struct kiocb *iocb = NULL;
ssize_t rc;
+
rc = generic_write_sync(iocb, 0);
],[
AC_DEFINE(HAVE_GENERIC_WRITE_SYNC_2ARGS, 1,
]) # LC_GENERIC_WRITE_SYNC_2ARGS
#
+# LC_FOP_ITERATE_SHARED
+#
+# Kernel version 4.7 adds iterate_shared method to file_operations
+#
+AC_DEFUN([LC_FOP_ITERATE_SHARED], [
+LB_CHECK_COMPILE([if 'file_operations' has 'iterate_shared'],
+fop_iterate_shared, [
+ #include <linux/fs.h>
+],[
+ struct file_operations fop;
+ fop.iterate_shared = NULL;
+],[
+ AC_DEFINE(HAVE_FOP_ITERATE_SHARED, 1,
+ [file_operations has iterate_shared])
+])
+]) # LC_FOP_ITERATE_SHARED
+
+#
+# LC_FOPS_ITERATE_SHARED
+#
+# 4.7 commit ae05327a00fd47c34dfe25294b359a3f3fef96e8
+# ext4: switch to ->iterate_shared()
+# this replaces ext4_dir_operations iterate with iterate_shared.
+# dir_relaxed_shared() was also added in this commit, so we can
+# use that function to verify that the ext4_dir_operations is using
+# iterate_shared.
+#
+AC_DEFUN([LC_FOPS_ITERATE_SHARED], [
+LB_CHECK_COMPILE([if ext4_dir_operations uses iterate_shared],
+iterate_shared, [
+ #include <linux/fs.h>
+],[
+ ((struct file_operations *)0)->iterate_shared(NULL, NULL);
+ dir_relax_shared(NULL);
+],[
+ AC_DEFINE(HAVE_ITERATE_SHARED, 1,
+ ['iterate_shared' is available])
+])
+]) # LC_FOPS_ITERATE_SHARED
+
+#
# LC_HAVE_POSIX_ACL_VALID_USER_NS
#
# 4.8 posix_acl_valid takes struct user_namespace
]) # LC_VM_OPERATIONS_REMOVE_VMF_ARG
#
+# LC_HAVE_KEY_USAGE_REFCOUNT
+#
+# Kernel version 4.11 commit fff292914d3a2f1efd05ca71c2ba72a3c663201e
+# converted key.usage from atomic_t to refcount_t.
+#
+AC_DEFUN([LC_HAVE_KEY_USAGE_REFCOUNT], [
+LB_CHECK_COMPILE([if 'key.usage' is refcount_t],
+key_usage_refcount, [
+ #include <linux/key.h>
+],[
+ struct key key = { };
+
+ refcount_read(&key.usage);
+],[
+ AC_DEFINE(HAVE_KEY_USAGE_REFCOUNT, 1, [key.usage is of type refcount_t])
+])
+]) #LC_HAVE_KEY_USAGE_REFCOUNT
+
+#
+# LC_HAVE_CRYPTO_MAX_ALG_NAME_128
+#
+# Kernel version 4.11 commit f437a3f477cce402dbec6537b29e9e33962c9f73
+# switched CRYPTO_MAX_ALG_NAME from 64 to 128.
+#
+AC_DEFUN([LC_HAVE_CRYPTO_MAX_ALG_NAME_128], [
+LB_CHECK_COMPILE([if 'CRYPTO_MAX_ALG_NAME' is 128],
+crypto_max_alg_name, [
+ #include <linux/crypto.h>
+],[
+ #if CRYPTO_MAX_ALG_NAME != 128
+ exit(1);
+ #endif
+],[
+ AC_DEFINE(HAVE_CRYPTO_MAX_ALG_NAME_128, 1,
+ ['CRYPTO_MAX_ALG_NAME' is 128])
+])
+]) # LC_HAVE_CRYPTO_MAX_ALG_NAME_128
+
+#
# Kernel version 4.12 commit 47f38c539e9a42344ff5a664942075bd4df93876
# CURRENT_TIME is not 64 bit time safe so it was replaced with
# current_time()
current_time, [
#include <linux/fs.h>
],[
- struct timespec ts = current_time(NULL);
+ struct iattr attr;
+
+ attr.ia_atime = current_time(NULL);
],[
AC_DEFINE(HAVE_CURRENT_TIME, 1,
[current_time() has replaced CURRENT_TIME])
]) # LC_BI_STATUS
#
+# LC_BIO_INTEGRITY_ENABLED
+#
+# 4.13 removed bio_integrity_enabled
+#
+AC_DEFUN([LC_BIO_INTEGRITY_ENABLED], [
+LB_CHECK_COMPILE([if 'bio_integrity_enabled' exist],
+bio_integrity_enabled, [
+ #include <linux/bio.h>
+],[
+ bio_integrity_enabled(NULL);
+],[
+ AC_DEFINE(HAVE_BIO_INTEGRITY_ENABLED, 1,
+ ['bio_integrity_enabled' is available])
+])
+]) # LC_BIO_INTEGRITY_ENABLED
+
+#
# LC_PAGEVEC_INIT_ONE_PARAM
#
# 4.14 pagevec_init takes one parameter
]) # LC_PAGEVEC_INIT_ONE_PARAM
#
+# LC_BI_BDEV
+#
+# 4.14 replaced bi_bdev to bi_disk
+#
+AC_DEFUN([LC_BI_BDEV], [
+LB_CHECK_COMPILE([if 'bi_bdev' exist],
+bi_bdev, [
+ #include <linux/bio.h>
+],[
+ ((struct bio *)0)->bi_bdev = NULL;
+],[
+ AC_DEFINE(HAVE_BI_BDEV, 1,
+ ['bi_bdev' is available])
+])
+]) # LC_BI_BDEV
+
+#
# LC_PROG_LINUX
#
# Lustre linux kernel checks
# 2.6.39
LC_HAVE_FHANDLE_SYSCALLS
LC_HAVE_FSTYPE_MOUNT
- LC_IOP_TRUNCATE
LC_HAVE_INODE_OWNER_OR_CAPABLE
LC_HAVE_SECURITY_IINITSEC
LC_OLDSIZE_TRUNCATE_PAGECACHE
LC_PTR_ERR_OR_ZERO_MISSING
LC_KIOCB_KI_LEFT
+ LC_INIT_LIST_HEAD_RCU
# 3.13
LC_VFS_RENAME_5ARGS
LC_HAVE_FILE_OPERATIONS_READ_WRITE_ITER
# 3.17
+ LC_HAVE_INTERVAL_BLK_INTEGRITY
LC_KEY_MATCH_DATA
# 3.18
# 4.1.0
LC_IOV_ITER_RW
LC_HAVE_SYNC_READ_WRITE
+ LC_HAVE___BI_CNT
# 4.2
LC_NEW_CANCEL_DIRTY_PAGE
LC_SYMLINK_OPS_USE_NAMEIDATA
# 4.3
+ LC_HAVE_INTERVAL_EXP_BLK_INTEGRITY
+ LC_HAVE_BIP_ITER_BIO_INTEGRITY_PAYLOAD
LC_HAVE_CACHE_HEAD_HLIST
LC_HAVE_XATTR_HANDLER_SIMPLIFIED
LC_HAVE_LOCKS_LOCK_FILE_WAIT
LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
LC_HAVE_XATTR_HANDLER_NAME
- LC_HAVE_BI_CNT
- LC_HAVE_BI_RW
+ LC_HAVE_BI_OPF
LC_HAVE_SUBMIT_BIO_2ARGS
LC_HAVE_CLEAN_BDEV_ALIASES
LC_HAVE_XATTR_HANDLER_INODE_PARAM
# 4.7
+ LC_D_IN_LOOKUP
LC_DIRECTIO_2ARGS
LC_GENERIC_WRITE_SYNC_2ARGS
+ LC_FOPS_ITERATE_SHARED
# 4.8
LC_HAVE_POSIX_ACL_VALID_USER_NS
# 4.11
LC_INODEOPS_ENHANCED_GETATTR
LC_VM_OPERATIONS_REMOVE_VMF_ARG
+ LC_HAVE_KEY_USAGE_REFCOUNT
+ LC_HAVE_CRYPTO_MAX_ALG_NAME_128
# 4.12
LC_CURRENT_TIME
LC_SUPER_SETUP_BDI_NAME
LC_BI_STATUS
+ # 4.13
+ LC_BIO_INTEGRITY_ENABLED
+
# 4.14
LC_PAGEVEC_INIT_ONE_PARAM
+ LC_BI_BDEV
+
+ # kernel patch to extend integrity interface
+ LC_BIO_INTEGRITY_PREP_FN
#
AS_IF([test "x$enable_server" != xno], [
]) # LC_QUOTA
#
-# LC_CONFIG_NODEMAP_PROC_DEBUG
-#
-# enable nodemap proc file debugging
-#
-AC_DEFUN([LC_NODEMAP_PROC_DEBUG], [
-AC_MSG_CHECKING([whether to enable nodemap proc debug])
-AC_ARG_ENABLE([nodemap_proc_debug],
- AC_HELP_STRING([--enable-nodemap-proc-debug],
- [enable nodemap proc debug]),
- [], [enable_nodemap_proc_debug="no"])
-AC_MSG_RESULT([$enable_nodemap_proc_debug])
-AS_IF([test "x$enable_nodemap_proc_debug" != xno],
- [AC_DEFINE(NODEMAP_PROC_DEBUG, 1,
- [enable nodemap proc debug support])])
-]) # LC_NODEMAP_PROC_DEBUG
-
-#
# LC_OSD_ADDON
#
# configure support for optional OSD implementation
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)
+AM_CONDITIONAL(SELINUX, test "$SELINUX" = "-lselinux")
]) # LC_CONDITIONALS
#
lustre/autoMakefile
lustre/autoconf/Makefile
lustre/conf/Makefile
+lustre/conf/resource/Makefile
lustre/contrib/Makefile
lustre/doc/Makefile
lustre/include/Makefile
lustre/include/lustre/Makefile
lustre/include/uapi/linux/lustre/Makefile
-lustre/kernel_patches/targets/3.10-rhel7.target
+lustre/kernel_patches/targets/3.10-rhel7.6.target
+lustre/kernel_patches/targets/3.10-rhel7.5.target
+lustre/kernel_patches/targets/4.14-rhel7.5.target
+lustre/kernel_patches/targets/4.14-rhel7.6.target
lustre/kernel_patches/targets/2.6-rhel6.9.target
lustre/kernel_patches/targets/2.6-rhel6.8.target
lustre/kernel_patches/targets/2.6-rhel6.7.target
lustre/fld/autoMakefile
lustre/obdclass/Makefile
lustre/obdclass/autoMakefile
-lustre/obdclass/linux/Makefile
lustre/obdecho/Makefile
lustre/obdecho/autoMakefile
lustre/ofd/Makefile