diff --git a/kmod/src/Makefile.kernelcompat b/kmod/src/Makefile.kernelcompat index 34074a70..fa0105b7 100644 --- a/kmod/src/Makefile.kernelcompat +++ b/kmod/src/Makefile.kernelcompat @@ -6,15 +6,6 @@ ccflags-y += -include $(src)/kernelcompat.h -# -# 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 - # # v4.16-rc1-1-g9b2c45d479d0 # diff --git a/kmod/src/acl.c b/kmod/src/acl.c index 8ae6e8ff..fa3066ed 100644 --- a/kmod/src/acl.c +++ b/kmod/src/acl.c @@ -227,17 +227,11 @@ int scoutfs_set_acl(KC_VFS_NS_DEF scoutfs_unlock(sb, lock, SCOUTFS_LOCK_WRITE); return ret; } -#ifdef KC_XATTR_STRUCT_XATTR_HANDLER int scoutfs_acl_get_xattr(const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, const char *name, void *value, size_t size) { int type = handler->flags; -#else -int scoutfs_acl_get_xattr(struct dentry *dentry, const char *name, void *value, size_t size, - int type) -{ -#endif struct posix_acl *acl; int ret = 0; @@ -260,7 +254,6 @@ int scoutfs_acl_get_xattr(struct dentry *dentry, const char *name, void *value, return ret; } -#ifdef KC_XATTR_STRUCT_XATTR_HANDLER int scoutfs_acl_set_xattr(const struct xattr_handler *handler, KC_VFS_NS_DEF struct dentry *dentry, @@ -268,11 +261,6 @@ int scoutfs_acl_set_xattr(const struct xattr_handler *handler, size_t size, int flags) { int type = handler->flags; -#else -int scoutfs_acl_set_xattr(struct dentry *dentry, const char *name, const void *value, size_t size, - int flags, int type) -{ -#endif struct posix_acl *acl = NULL; int ret; diff --git a/kmod/src/acl.h b/kmod/src/acl.h index 2b64fafa..b9c8cc84 100644 --- a/kmod/src/acl.h +++ b/kmod/src/acl.h @@ -16,7 +16,6 @@ struct posix_acl *scoutfs_get_acl(struct inode *inode, int type); struct posix_acl *scoutfs_get_acl_locked(struct inode *inode, int type, struct scoutfs_lock *lock); int scoutfs_set_acl_locked(struct inode *inode, struct posix_acl *acl, int type, struct scoutfs_lock *lock, struct list_head *ind_locks); -#ifdef KC_XATTR_STRUCT_XATTR_HANDLER int scoutfs_acl_get_xattr(const struct xattr_handler *, struct dentry *dentry, struct inode *inode, const char *name, void *value, size_t size); @@ -25,12 +24,6 @@ int scoutfs_acl_set_xattr(const struct xattr_handler *, struct dentry *dentry, struct inode *inode, const char *name, const void *value, size_t size, int flags); -#else -int scoutfs_acl_get_xattr(struct dentry *dentry, const char *name, void *value, size_t size, - int type); -int scoutfs_acl_set_xattr(struct dentry *dentry, const char *name, const void *value, size_t size, - int flags, int type); -#endif int scoutfs_acl_chmod_locked(struct inode *inode, struct iattr *attr, struct scoutfs_lock *lock, struct list_head *ind_locks); int scoutfs_init_acl_locked(struct inode *inode, struct inode *dir, diff --git a/kmod/src/xattr.c b/kmod/src/xattr.c index cb9f0549..f6197c82 100644 --- a/kmod/src/xattr.c +++ b/kmod/src/xattr.c @@ -995,38 +995,17 @@ unlock: return ret; } -#ifndef KC_XATTR_STRUCT_XATTR_HANDLER -/* - * Future kernels have this amazing hack to rewind the name to get the - * skipped prefix. We're back in the stone ages without the handler - * arg, so we Just Know that this is possible. This will become a - * compat hook to either call the kernel's xattr_full_name(handler), or - * our hack to use the flags as the prefix length. - */ -static const char *full_name_hack(const char *name, int len) -{ - return name - len; -} -#endif static int scoutfs_xattr_get_handler -#ifdef KC_XATTR_STRUCT_XATTR_HANDLER (const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, const char *name, void *value, size_t size) { name = xattr_full_name(handler, name); -#else - (struct dentry *dentry, const char *name, - void *value, size_t size, int handler_flags) -{ - name = full_name_hack(name, handler_flags); -#endif return scoutfs_xattr_get(dentry, name, value, size); } static int scoutfs_xattr_set_handler -#ifdef KC_XATTR_STRUCT_XATTR_HANDLER (const struct xattr_handler *handler, KC_VFS_NS_DEF struct dentry *dentry, @@ -1034,12 +1013,6 @@ static int scoutfs_xattr_set_handler size_t size, int flags) { name = xattr_full_name(handler, name); -#else - (struct dentry *dentry, const char *name, - const void *value, size_t size, int flags, int handler_flags) -{ - name = full_name_hack(name, handler_flags); -#endif return scoutfs_xattr_set(dentry, name, value, size, flags); }