]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Apply upstream delta for Linux 2.6.26 support
authorRuss Allbery <rra@debian.org>
Sat, 28 Jun 2008 06:08:37 +0000 (23:08 -0700)
committerRuss Allbery <rra@debian.org>
Sat, 28 Jun 2008 06:08:37 +0000 (23:08 -0700)
Upstream delta STABLE14-linux-2626-support-20080608.

acinclude.m4
debian/changelog
src/afs/LINUX/osi_groups.c
src/afs/LINUX/osi_module.c
src/cf/linux-test4.m4

index 231ca5a3f9538e84a3e83ab7dfdd056bf3e862b9..164c310cc10c0c3ff908aa5cbd99e501f3ed1774 100644 (file)
@@ -600,6 +600,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
index e71496cc98a653f6fa28f97c1a45915f591fa224..2c16aab59fe1aea5df36a2f5799502b7b8a2e097 100644 (file)
@@ -1,5 +1,6 @@
 openafs (1.4.7.dfsg1-3) UNRELEASED; urgency=low
 
+  * Apply upstream delta for Linux 2.6.26 support.
   * When clearing the restart time while installing a new cell, pass
     -localauth to avoid an authentication failure.  Thanks, Davor Ocelic.
     (Closes: #488152)
index cd8fb50354957636299ac788c01fa1a672ad7962..612d0583873369fe75102ed08fb7a61a3f66b0c1 100644 (file)
@@ -20,7 +20,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.15 2008/04/19 21:56:11 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.16 2008/06/09 03:39:44 shadow Exp $");
 
 #include "afs/sysincludes.h"
 #include "afsincludes.h"
@@ -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
index 52d2ced82855bce2369361ab9a33eaead255f9ee..ef672402a8146a720ed7a0a12d0d3ed65b9aa08d 100644 (file)
@@ -15,7 +15,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.29 2007/10/24 18:09:50 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.30 2008/06/09 03:39:44 shadow Exp $");
 
 #include <linux/module.h> /* early to avoid printf->printk mapping */
 #include "afs/sysincludes.h"
@@ -237,8 +237,16 @@ afsproc_init(void)
 {
     struct proc_dir_entry *entry1;
     struct proc_dir_entry *entry2;
+#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
     entry1 = create_proc_entry(PROC_SYSCALL_NAME, 0666, openafs_procfs);
 
     entry1->proc_fops = &afs_syscall_fops;
@@ -263,9 +271,18 @@ afsproc_init(void)
 static void
 afsproc_exit(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);
     remove_proc_entry(PROC_SYSCALL_NAME, openafs_procfs);
-    remove_proc_entry(PROC_FSDIRNAME, proc_root_fs);
 #if defined(NEED_IOCTL32) && !defined(HAVE_COMPAT_IOCTL)
     if (ioctl32_done)
            unregister_ioctl32_conversion(VIOC_SYSCALL32);
index 3c131cd0eb9c4bafbe1d53d99e1382c4f25b7bd3..75949d8a4153c0589a6a6d0dfccc3725b9cfa4e8 100644 (file)
@@ -993,3 +993,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])