From 56526e617fa918179485fca76cb5ecba82837bdf Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Sat, 2 May 2026 17:17:38 -0400 Subject: [PATCH] Remove KC_MM_VM_FAULT_T compat for el7. el8 already provides vm_fault_t and vmf_error(), so the fallback typedef and inline are dead. Drop the detection stanza and the two function-signature ifdefs in data.c that switched between the pre-v4.11 and modern fault handler prototypes. Signed-off-by: Auke Kok --- kmod/src/Makefile.kernelcompat | 9 --------- kmod/src/data.c | 15 --------------- kmod/src/kernelcompat.h | 10 ---------- 3 files changed, 34 deletions(-) diff --git a/kmod/src/Makefile.kernelcompat b/kmod/src/Makefile.kernelcompat index 0c6fd598..45c42e9b 100644 --- a/kmod/src/Makefile.kernelcompat +++ b/kmod/src/Makefile.kernelcompat @@ -178,15 +178,6 @@ ifneq (,$(shell grep 'struct file.*bdev_file_open_by_path.const char.*path' incl ccflags-y += -DKC_BDEV_FILE_OPEN_BY_PATH endif -# -# v5.0-6476-g3d3539018d2c -# -# page fault handlers return a bitmask vm_fault_t instead -# Note: el8's header has a slightly modified prefix here -ifneq (,$(shell grep 'typedef.*__bitwise unsigned.*int vm_fault_t' include/linux/mm_types.h)) -ccflags-y += -DKC_MM_VM_FAULT_T -endif - # # v6.7-rc4-153-g0a97c01cd20b # diff --git a/kmod/src/data.c b/kmod/src/data.c index a137b667..1d3168f6 100644 --- a/kmod/src/data.c +++ b/kmod/src/data.c @@ -2015,15 +2015,9 @@ int scoutfs_data_waiting(struct super_block *sb, u64 ino, u64 iblock, return ret; } -#ifdef KC_MM_VM_FAULT_T static vm_fault_t scoutfs_data_page_mkwrite(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; -#else -static int scoutfs_data_page_mkwrite(struct vm_area_struct *vma, - struct vm_fault *vmf) -{ -#endif struct page *page = vmf->page; struct file *file = vma->vm_file; struct inode *inode = file_inode(file); @@ -2165,14 +2159,9 @@ out: return ret; } -#ifdef KC_MM_VM_FAULT_T static vm_fault_t scoutfs_data_filemap_fault(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; -#else -static int scoutfs_data_filemap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) -{ -#endif struct file *file = vma->vm_file; struct inode *inode = file_inode(file); struct scoutfs_inode_info *si = SCOUTFS_I(inode); @@ -2207,11 +2196,7 @@ retry: } } -#ifdef KC_MM_VM_FAULT_T ret = filemap_fault(vmf); -#else - ret = filemap_fault(vma, vmf); -#endif out: if (scoutfs_per_task_del(&si->pt_data_lock, &pt_ent)) diff --git a/kmod/src/kernelcompat.h b/kmod/src/kernelcompat.h index 685f380f..ea37a7fb 100644 --- a/kmod/src/kernelcompat.h +++ b/kmod/src/kernelcompat.h @@ -184,16 +184,6 @@ static inline int kc_tcp_sock_set_nodelay(struct socket *sock) } #endif -#ifndef KC_MM_VM_FAULT_T -typedef unsigned int vm_fault_t; -static inline vm_fault_t vmf_error(int err) -{ - if (err == -ENOMEM) - return VM_FAULT_OOM; - return VM_FAULT_SIGBUS; -} -#endif - #include #ifndef KC_LIST_LRU_ADD_OBJ