mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Linux-2.6.33 compat, .ctl_name removed from struct ctl_table
As of linux-2.6.33 the ctl_name member of the ctl_table struct has been entirely removed. The upstream code has been updated to depend entirely on the the procname member. To handle this all references to ctl_name are wrapped in a CTL_NAME macro which simply expands to nothing for newer kernels. Older kernels are supported by having it expand to .ctl_name = X just as before.
This commit is contained in:
@@ -36,6 +36,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
|
||||
SPL_AC_PATH_IN_NAMEIDATA
|
||||
SPL_AC_TASK_CURR
|
||||
SPL_AC_CTL_UNNUMBERED
|
||||
SPL_AC_CTL_NAME
|
||||
SPL_AC_FLS64
|
||||
SPL_AC_DEVICE_CREATE
|
||||
SPL_AC_5ARGS_DEVICE_CREATE
|
||||
@@ -641,6 +642,25 @@ AC_DEFUN([SPL_AC_CTL_UNNUMBERED],
|
||||
])
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # 2.6.33 API change,
|
||||
dnl # Removed .ctl_name from struct ctl_table.
|
||||
dnl #
|
||||
AC_DEFUN([SPL_AC_CTL_NAME], [
|
||||
AC_MSG_CHECKING([whether struct ctl_table has ctl_name])
|
||||
SPL_LINUX_TRY_COMPILE([
|
||||
#include <linux/sysctl.h>
|
||||
],[
|
||||
struct ctl_table ctl;
|
||||
ctl.ctl_name = 0;
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_CTL_NAME, 1, [struct ctl_table has ctl_name])
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # 2.6.16 API change.
|
||||
dnl # Check if 'fls64()' is available
|
||||
|
||||
Reference in New Issue
Block a user