From 7410868846e40a160de7fd13856ea88818c3113f Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Thu, 22 Feb 2007 21:48:58 +0000 Subject: [PATCH] STABLE14-linux-2621-20070222 FIXES 54645 configure support for new sysctl api (cherry picked from commit f1a6107e0814d1e3e1d171834c97489479b5e6df) --- acinclude.m4 | 4 ++++ src/afs/LINUX/osi_sysctl.c | 4 ++++ src/cf/linux-test4.m4 | 12 ++++++++++++ 3 files changed, 20 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index b14394641..8209ee634 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -639,6 +639,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_DO_SYNC_READ LINUX_GENERIC_FILE_AIO_READ LINUX_INIT_WORK_HAS_DATA + LINUX_REGISTER_SYSCTL_TABLE_NOFLAG LINUX_EXPORTS_SYS_CHDIR LINUX_EXPORTS_SYS_CLOSE LINUX_EXPORTS_SYS_OPEN @@ -841,6 +842,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then echo flock support is currently disabled in OpenAFS 1.4 for Linux fi + if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then + AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag]) + fi if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported]) fi diff --git a/src/afs/LINUX/osi_sysctl.c b/src/afs/LINUX/osi_sysctl.c index 636cb6dfc..dbe93dc11 100644 --- a/src/afs/LINUX/osi_sysctl.c +++ b/src/afs/LINUX/osi_sysctl.c @@ -62,7 +62,11 @@ static ctl_table fs_sysctl_table[] = { int osi_sysctl_init() { +#if defined(REGISTER_SYSCTL_TABLE_NOFLAG) + afs_sysctl = register_sysctl_table(fs_sysctl_table); +#else afs_sysctl = register_sysctl_table(fs_sysctl_table, 0); +#endif if (!afs_sysctl) return -1; diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index 3862c48b9..3002d93d5 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -798,3 +798,15 @@ _fop.flock(NULL, 0, NULL);], ac_cv_linux_fs_struct_fop_has_flock=yes, ac_cv_linux_fs_struct_fop_has_flock=no)]) AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_flock)]) + +AC_DEFUN([LINUX_REGISTER_SYSCTL_TABLE_NOFLAG], [ + AC_MSG_CHECKING([whether register_sysctl_table has an insert_at_head flag argument]) + AC_CACHE_VAL([ac_cv_linux_register_sysctl_table_noflag], [ + AC_TRY_KBUILD( +[#include ], +[ctl_table *t; +register_sysctl_table (t);], + ac_cv_linux_register_sysctl_table_noflag=yes, + ac_cv_linux_register_sysctl_table_noflag=no)]) + AC_MSG_RESULT($ac_cv_linux_register_sysctl_table_noflag)]) + -- 2.39.5