linux-2630-maybe-20090331
authorMarc Dionne <marc.c.dionne@gmail.com>
Tue, 31 Mar 2009 13:16:17 +0000 (13:16 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 31 Mar 2009 13:16:17 +0000 (13:16 +0000)
LICENSE IPL10
FIXES 124560

hopefully support 2.6.30 when it's released

acinclude.m4
src/afs/LINUX/osi_proc.c
src/cf/linux-test4.m4

index 296c042..ae9d031 100644 (file)
@@ -840,6 +840,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                  LINUX_KMEM_CACHE_INIT
                  LINUX_HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN
                  LINUX_STRUCT_TASK_HAS_CRED
+                LINUX_STRUCT_PROC_DIR_ENTRY_HAS_OWNER
                 LINUX_HAVE_KMEM_CACHE_T
                 LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
                 LINUX_D_PATH_TAKES_STRUCT_PATH
index 3f340de..2ac51af 100644 (file)
@@ -336,7 +336,9 @@ osi_proc_init(void)
     entry = create_proc_entry("unixusers", 0, openafs_procfs);
     if (entry) {
        entry->proc_fops = &afs_unixuser_fops;
+#if defined(STRUCT_PROC_DIR_ENTRY_HAS_OWNER)
        entry->owner = THIS_MODULE;
+#endif
     }
     entry = create_proc_entry(PROC_CELLSERVDB_NAME, 0, openafs_procfs);
     if (entry)
@@ -344,7 +346,9 @@ osi_proc_init(void)
 #else
     entry = create_proc_info_entry(PROC_CELLSERVDB_NAME, (S_IFREG|S_IRUGO), openafs_procfs, csdbproc_info);
 #endif
+#if defined(STRUCT_PROC_DIR_ENTRY_HAS_OWNER)
     entry->owner = THIS_MODULE;
+#endif
 }
 
 void
index 3e41edf..b787c25 100644 (file)
@@ -1201,3 +1201,17 @@ _u =_t.cred->uid ;],
   if test "x$ac_cv_linux_struct_task_has_cred" = "xyes"; then
     AC_DEFINE([STRUCT_TASK_HAS_CRED], 1, [define if struct task has a cred pointer])
   fi])
+
+AC_DEFUN([LINUX_STRUCT_PROC_DIR_ENTRY_HAS_OWNER], [
+  AC_MSG_CHECKING([if struct proc_dir_entry_has_owner])
+  AC_CACHE_VAL([ac_cv_linux_struct_proc_dir_entry_has_owner], [
+    AC_TRY_KBUILD(
+[#include <linux/proc_fs.h>],
+[struct proc_dir_entry _p;
+_p.owner= "";],
+      ac_cv_linux_struct_proc_dir_entry_has_owner=yes,
+      ac_cv_linux_struct_proc_dir_entry_has_owner=no)])
+  AC_MSG_RESULT($ac_cv_linux_struct_proc_dir_entry_has_owner)
+  if test "x$ac_cv_linux_struct_proc_dir_entry_has_owner" = "xyes"; then
+    AC_DEFINE([STRUCT_PROC_DIR_ENTRY_HAS_OWNER], 1, [define if struct proc_dir_entry has an owner member])
+  fi])