mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Linux 2.6.32 compat, proc_handler() API change
As of linux-2.6.32 the 'struct file *filp' argument was dropped from the proc_handle() prototype. It was apparently unused _almost_ everywhere in the kernel and this was simply cleanup. I've added a new SPL_AC_5ARGS_PROC_HANDLER autoconf check for this and the proper compat macros to correctly define the prototypes and some helper functions. It's not pretty but API compat changes rarely are.
This commit is contained in:
@@ -72,6 +72,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
|
||||
SPL_AC_CRED_STRUCT
|
||||
SPL_AC_GROUPS_SEARCH
|
||||
SPL_AC_PUT_TASK_STRUCT
|
||||
SPL_AC_5ARGS_PROC_HANDLER
|
||||
])
|
||||
|
||||
AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
|
||||
@@ -1371,3 +1372,22 @@ AC_DEFUN([SPL_AC_PUT_TASK_STRUCT], [
|
||||
[__put_task_struct() is available])],
|
||||
[])
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # 2.6.32 API change,
|
||||
dnl # Unused 'struct file *' removed from prototype.
|
||||
dnl #
|
||||
AC_DEFUN([SPL_AC_5ARGS_PROC_HANDLER], [
|
||||
AC_MSG_CHECKING([whether proc_handler() wants 5 args])
|
||||
SPL_LINUX_TRY_COMPILE([
|
||||
#include <linux/sysctl.h>
|
||||
],[
|
||||
proc_dostring(NULL, 0, NULL, NULL, NULL);
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_5ARGS_PROC_HANDLER, 1,
|
||||
[proc_handler() wants 5 args])
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user