DEVEL153X-linux-2626-support-20080608

LICENSE IPL10
FIXES 101091

add 2.6.26 support


(cherry picked from commit bed3e31ca4)
This commit is contained in:
Marc Dionne 2008-06-09 04:39:29 +00:00 committed by Derrick Brashear
parent a754a5a246
commit b6ba87636f
4 changed files with 52 additions and 3 deletions

View File

@ -622,6 +622,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
LINUX_KBUILD_USES_EXTRA_CFLAGS
LINUX_KERNEL_COMPILE_WORKS
LINUX_EXPORTS_FIND_TASK_BY_PID
LINUX_EXPORTS_PROC_ROOT_FS
LINUX_HAVE_CURRENT_KERNEL_TIME
LINUX_KMEM_CACHE_INIT
LINUX_HAVE_KMEM_CACHE_T

View File

@ -646,7 +646,11 @@ void osi_keyring_init(void)
# endif
rcu_read_lock();
# endif
#if defined(EXPORTED_FIND_TASK_BY_PID)
p = find_task_by_pid(1);
#else
p = find_task_by_vpid(1);
#endif
if (p && p->user->session_keyring)
__key_type_keyring = p->user->session_keyring->type;
# ifdef EXPORTED_TASKLIST_LOCK

View File

@ -317,9 +317,16 @@ void
osi_proc_init(void)
{
struct proc_dir_entry *entry;
#if !defined(EXPORTED_PROC_ROOT_FS)
char path[64];
#endif
#if defined(EXPORTED_PROC_ROOT_FS)
openafs_procfs = proc_mkdir(PROC_FSDIRNAME, proc_root_fs);
#else
sprintf(path, "fs/%s", PROC_FSDIRNAME);
openafs_procfs = proc_mkdir(path, NULL);
#endif
#ifdef HAVE_KERNEL_LINUX_SEQ_FILE_H
entry = create_proc_entry("unixusers", 0, openafs_procfs);
if (entry) {
@ -338,9 +345,18 @@ osi_proc_init(void)
void
osi_proc_clean(void)
{
#if !defined(EXPORTED_PROC_ROOT_FS)
char path[64];
#endif
#if defined(EXPORTED_PROC_ROOT_FS)
remove_proc_entry(PROC_FSDIRNAME, proc_root_fs);
#else
sprintf(path, "fs/%s", PROC_FSDIRNAME);
remove_proc_entry(path, NULL);
#endif
remove_proc_entry(PROC_CELLSERVDB_NAME, openafs_procfs);
#ifdef HAVE_KERNEL_LINUX_SEQ_FILE_H
remove_proc_entry("unixusers", openafs_procfs);
#endif
remove_proc_entry(PROC_FSDIRNAME, proc_root_fs);
}

View File

@ -1024,3 +1024,30 @@ AC_DEFUN([LINUX_EXPORTS_RCU_READ_LOCK], [
AC_DEFINE([EXPORTED_RCU_READ_LOCK], 1, [define if rcu_read_lock() is usable])
fi])
AC_DEFUN([LINUX_EXPORTS_FIND_TASK_BY_PID], [
AC_MSG_CHECKING([if find_task_by_pid is usable])
AC_CACHE_VAL([ac_cv_linux_exports_find_task_by_pid], [
AC_TRY_KBUILD(
[#include <linux/sched.h>],
[pid_t p;
find_task_by_pid(p);],
ac_cv_linux_exports_find_task_by_pid=yes,
ac_cv_linux_exports_find_task_by_pid=no)])
AC_MSG_RESULT($ac_cv_linux_exports_find_task_by_pid)
if test "x$ac_cv_linux_exports_find_task_by_pid" = "xyes"; then
AC_DEFINE([EXPORTED_FIND_TASK_BY_PID], 1, [define if find_task_by_pid() is usable])
fi])
AC_DEFUN([LINUX_EXPORTS_PROC_ROOT_FS], [
AC_MSG_CHECKING([if proc_root_fs is defined and exported])
AC_CACHE_VAL([ac_cv_linux_exports_proc_root_fs], [
AC_TRY_KBUILD(
[#include <linux/proc_fs.h>],
[struct proc_dir_entry *p = proc_root_fs;],
ac_cv_linux_exports_proc_root_fs=yes,
ac_cv_linux_exports_proc_root_fs=no)])
AC_MSG_RESULT($ac_cv_linux_exports_proc_root_fs)
if test "x$ac_cv_linux_exports_proc_root_fs" = "xyes"; then
AC_DEFINE([EXPORTED_PROC_ROOT_FS], 1, [define if proc_root_fs is exported])
fi])