]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE12-linux-tasklist-lock-export-detection-20020829
authorDerrick Brashear <shadow@dementia.org>
Wed, 28 Aug 2002 05:30:48 +0000 (05:30 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 28 Aug 2002 05:30:48 +0000 (05:30 +0000)
if you don't have a versioned kernel, so sorry.

(cherry picked from commit efd9a7e32dc793c45f056be5c796f25db429a054)

acconfig.h
acinclude.m4
src/afs/afs_osi.c

index cba9aa44bef5abbde2d77b62a3729779312b6c1d..f97e3b1abfef2b1b484bbca46c05090ebf16c2d7 100644 (file)
@@ -34,6 +34,7 @@ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
 #undef STRUCT_INODE_HAS_I_TRUNCATE_SEM
 #undef STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
 #undef STRUCT_INODE_HAS_I_DEVICES
+#undef EXPORTED_TASKLIST_LOCK
 #undef ssize_t
 
 /* glue for RedHat kernel bug */
index d1d7daf8ea8ccad7a7843a51444f940537db1bd7..f33e0377ceb825f3e627c963746a9833bbfdf3e8 100644 (file)
@@ -140,8 +140,12 @@ case $system in
                 LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
                 LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
                 LINUX_INODE_SETATTR_RETURN_TYPE
+                LINUX_EXPORTS_TASKLIST_LOCK
                 LINUX_NEED_RHCONFIG
                 LINUX_WHICH_MODULES
+                if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
+                 AC_DEFINE(EXPORTED_TASKLIST_LOCK)
+                fi
                 if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
                  AC_DEFINE(INODE_SETATTR_NOT_VOID)
                 fi
index 023be0926d6e150c82d7d86c338819e6d0feda6e..6064c54253f4e0833a793842a5d43d162c40758c 100644 (file)
@@ -780,13 +780,17 @@ void afs_osi_TraverseProcTable()
 {   
     struct task_struct *p;
 
+#ifdef EXPORTED_TASKLIST_LOCK
     read_lock(&tasklist_lock);
+#endif
     for_each_task(p) if (p->pid) {
         if (p->state & TASK_ZOMBIE)
             continue;
        afs_GCPAGs_perproc_func(p);
     }
+#ifdef EXPORTED_TASKLIST_LOCK
     read_unlock(&tasklist_lock);
+#endif
 }   
 #endif