mirror of
https://github.com/versity/scoutfs.git
synced 2026-04-21 14:00:29 +00:00
161 lines
4.1 KiB
Makefile
161 lines
4.1 KiB
Makefile
#
|
|
# We try to detect the specific api incompatibilities with simple tests
|
|
# because distros regularly backport features without changing the
|
|
# version.
|
|
#
|
|
|
|
ccflags-y += -include $(src)/kernelcompat.h
|
|
|
|
#
|
|
# v3.10-rc6-21-gbb6f619b3a49
|
|
#
|
|
# _readdir changes from fop->readdir() to fop->iterate() and from
|
|
# filldir(dirent) to dir_emit(ctx).
|
|
#
|
|
ifneq (,$(shell grep 'iterate.*dir_context' include/linux/fs.h))
|
|
ccflags-y += -DKC_ITERATE_DIR_CONTEXT
|
|
endif
|
|
|
|
#
|
|
# v3.10-rc6-23-g5f99f4e79abc
|
|
#
|
|
# Helpers including dir_emit_dots() are added in the process of
|
|
# switching dcache_readdir() from fop->readdir() to fop->iterate()
|
|
#
|
|
ifneq (,$(shell grep 'dir_emit_dots' include/linux/fs.h))
|
|
ccflags-y += -DKC_DIR_EMIT_DOTS
|
|
endif
|
|
|
|
#
|
|
# v3.18-rc2-19-gb5ae6b15bd73
|
|
#
|
|
# Folds d_materialise_unique into d_splice_alias. Note reversal
|
|
# of arguments (Also note Documentation/filesystems/porting.rst)
|
|
#
|
|
ifneq (,$(shell grep 'd_materialise_unique' include/linux/dcache.h))
|
|
ccflags-y += -DKC_D_MATERIALISE_UNIQUE=1
|
|
endif
|
|
|
|
#
|
|
# RHEL extended the fop struct so to use it we have to set
|
|
# a flag to indicate that the struct is large enough and
|
|
# contains the pointer.
|
|
#
|
|
ifneq (,$(shell grep 'FMODE_KABI_ITERATE' include/linux/fs.h))
|
|
ccflags-y += -DKC_FMODE_KABI_ITERATE
|
|
endif
|
|
|
|
#
|
|
# v4.7-rc2-23-g0d4d717f2583
|
|
#
|
|
# Added user_ns argument to posix_acl_valid
|
|
#
|
|
ifneq (,$(shell grep 'posix_acl_valid.*user_namespace' include/linux/posix_acl.h))
|
|
ccflags-y += -DKC_POSIX_ACL_VALID_USER_NS
|
|
endif
|
|
|
|
#
|
|
# v5.3-12296-g6d2052d188d9
|
|
#
|
|
# The RBCOMPUTE function is now passed an extra flag, and should return a bool
|
|
# to indicate whether the propagated callback should stop or not.
|
|
#
|
|
ifneq (,$(shell grep 'static inline bool RBNAME.*_compute_max' include/linux/rbtree_augmented.h))
|
|
ccflags-y += -DKC_RB_TREE_AUGMENTED_COMPUTE_MAX
|
|
endif
|
|
|
|
#
|
|
# v3.13-25-g37bc15392a23
|
|
#
|
|
# Renames posix_acl_create to __posix_acl_create and provide some
|
|
# new interfaces for creating ACLs
|
|
#
|
|
ifneq (,$(shell grep '__posix_acl_create' include/linux/posix_acl.h))
|
|
ccflags-y += -DKC___POSIX_ACL_CREATE
|
|
endif
|
|
|
|
#
|
|
# v4.8-rc1-29-g31051c85b5e2
|
|
#
|
|
# inode_change_ok() removed - replace with setattr_prepare()
|
|
#
|
|
ifneq (,$(shell grep 'extern int setattr_prepare' include/linux/fs.h))
|
|
ccflags-y += -DKC_SETATTR_PREPARE
|
|
endif
|
|
|
|
#
|
|
# v4.15-rc3-4-gae5e165d855d
|
|
#
|
|
# linux/iversion.h needs to manually be included for code that
|
|
# manipulates this field.
|
|
#
|
|
ifneq (,$(shell grep -s 'define _LINUX_IVERSION_H' include/linux/iversion.h))
|
|
ccflags-y += -DKC_NEED_LINUX_IVERSION_H=1
|
|
endif
|
|
|
|
# v4.11-12447-g104b4e5139fe
|
|
#
|
|
# Renamed __percpu_counter_add to percpu_counter_add_batch to clarify
|
|
# that the __ wasn't less safe, just took an extra parameter.
|
|
#
|
|
ifneq (,$(shell grep 'percpu_counter_add_batch' include/linux/percpu_counter.h))
|
|
ccflags-y += -DKC_PERCPU_COUNTER_ADD_BATCH
|
|
endif
|
|
|
|
#
|
|
# v4.11-4550-g7dea19f9ee63
|
|
#
|
|
# Introduced memalloc_nofs_{save,restore} preferred instead of _noio_.
|
|
#
|
|
ifneq (,$(shell grep 'memalloc_nofs_save' include/linux/sched/mm.h))
|
|
ccflags-y += -DKC_MEMALLOC_NOFS_SAVE
|
|
endif
|
|
|
|
#
|
|
# v4.7-12414-g1eff9d322a44
|
|
#
|
|
# Renamed bi_rw to bi_opf to force old code to catch up. We use it as a
|
|
# single switch between old and new bio structures.
|
|
#
|
|
ifneq (,$(shell grep 'bi_opf' include/linux/blk_types.h))
|
|
ccflags-y += -DKC_BIO_BI_OPF
|
|
endif
|
|
|
|
#
|
|
# v4.12-rc2-201-g4e4cbee93d56
|
|
#
|
|
# Moves to bi_status BLK_STS_ API instead of having a mix of error
|
|
# end_io args or bi_error.
|
|
#
|
|
ifneq (,$(shell grep 'bi_status' include/linux/blk_types.h))
|
|
ccflags-y += -DKC_BIO_BI_STATUS
|
|
endif
|
|
|
|
#
|
|
# v3.11-8765-ga0b02131c5fc
|
|
#
|
|
# Remove the old ->shrink() API, ->{scan,count}_objects is preferred.
|
|
#
|
|
ifneq (,$(shell grep '(*shrink)' include/linux/shrinker.h))
|
|
ccflags-y += -DKC_SHRINKER_SHRINK
|
|
endif
|
|
|
|
#
|
|
# v3.19-4777-g6bec00352861
|
|
#
|
|
# backing_dev_info is removed from address_space. Instead we need to use
|
|
# inode_to_bdi() inline from <backing-dev.h>.
|
|
#
|
|
ifneq (,$(shell grep 'struct backing_dev_info.*backing_dev_info' include/linux/fs.h))
|
|
ccflags-y += -DKC_LINUX_BACKING_DEV_INFO=1
|
|
endif
|
|
|
|
#
|
|
# v4.3-9290-ge409de992e3e
|
|
#
|
|
# xattr handlers are now passed a struct that contains `flags`
|
|
#
|
|
ifneq (,$(shell grep 'int...get..const struct xattr_handler.*struct dentry.*dentry,' include/linux/xattr.h))
|
|
ccflags-y += -DKC_XATTR_STRUCT_XATTR_HANDLER=1
|
|
endif
|