Taken from http://dl.openafs.org/dl/1.4.4/fedora-7/SRPMS/openafs-1.4.4-fc7.3.src.rpm -> openafs-STABLE14-linux-2-6-22-updates-20070611.patch diff -urN openafs-1.4.4.old/acinclude.m4 openafs-1.4.4/acinclude.m4 --- openafs-1.4.4.old/acinclude.m4 2007-02-22 22:48:58.000000000 +0100 +++ openafs-1.4.4/acinclude.m4 2007-07-24 14:41:10.000000000 +0200 @@ -626,6 +626,7 @@ LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO + LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_THREAD_INFO LINUX_EXPORTS_TASKLIST_LOCK LINUX_GET_SB_HAS_STRUCT_VFSMOUNT LINUX_STATFS_TAKES_DENTRY @@ -812,6 +813,9 @@ if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TODO, 1, [define if your struct task_struct has todo]) fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then + AC_DEFINE(STRUCT_TASK_STRUCT_HAS_THREAD_INFO, 1, [define if your struct task_struct has thread_info]) + fi if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then AC_DEFINE(GET_SB_HAS_STRUCT_VFSMOUNT, 1, [define if your get_sb_nodev needs a struct vfsmount argument]) fi diff -urN openafs-1.4.4.old/src/afs/LINUX/osi_sleep.c openafs-1.4.4/src/afs/LINUX/osi_sleep.c --- openafs-1.4.4.old/src/afs/LINUX/osi_sleep.c 2007-01-04 22:26:34.000000000 +0100 +++ openafs-1.4.4/src/afs/LINUX/osi_sleep.c 2007-07-24 14:41:10.000000000 +0200 @@ -205,7 +205,11 @@ #if defined(STRUCT_TASK_STRUCT_HAS_TODO) !current->todo #else +#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO) test_ti_thread_flag(current->thread_info, TIF_FREEZE) +#else + test_ti_thread_flag(task_thread_info(current), TIF_FREEZE) +#endif #endif #endif ) @@ -303,7 +307,11 @@ #if defined(STRUCT_TASK_STRUCT_HAS_TODO) !current->todo #else +#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO) test_ti_thread_flag(current->thread_info, TIF_FREEZE) +#else + test_ti_thread_flag(task_thread_info(current), TIF_FREEZE) +#endif #endif #endif ) diff -urN openafs-1.4.4.old/src/afs/LINUX/osi_vfsops.c openafs-1.4.4/src/afs/LINUX/osi_vfsops.c --- openafs-1.4.4.old/src/afs/LINUX/osi_vfsops.c 2007-02-09 02:25:48.000000000 +0100 +++ openafs-1.4.4/src/afs/LINUX/osi_vfsops.c 2007-07-24 14:41:10.000000000 +0200 @@ -292,8 +292,10 @@ { struct vcache *vcp = (struct vcache *) foo; +#if defined(SLAB_CTOR_VERIFY) if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) == SLAB_CTOR_CONSTRUCTOR) +#endif inode_init_once(AFSTOV(vcp)); } diff -urN openafs-1.4.4.old/src/cf/linux-test4.m4 openafs-1.4.4/src/cf/linux-test4.m4 --- openafs-1.4.4.old/src/cf/linux-test4.m4 2007-02-26 18:53:33.000000000 +0100 +++ openafs-1.4.4/src/cf/linux-test4.m4 2007-07-24 14:41:10.000000000 +0200 @@ -444,6 +444,18 @@ AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_exit_state)]) +AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_THREAD_INFO], [ + AC_MSG_CHECKING([for thread_info in struct task_struct]) + AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_thread_info], [ + AC_TRY_KBUILD( +[#include ], +[struct task_struct _tsk; +printk("%d\n", _tsk.thread_info);], + ac_cv_linux_sched_struct_task_struct_has_thread_info=yes, + ac_cv_linux_sched_struct_task_struct_has_thread_info=no)]) + AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_thread_info)]) + + AC_DEFUN([LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE], [ AC_MSG_CHECKING([for alloc_inode in struct super_operations]) AC_CACHE_VAL([ac_cv_linux_fs_struct_super_has_alloc_inode], [ diff -urN openafs-1.4.4.old/src/rx/LINUX/rx_kmutex.c openafs-1.4.4/src/rx/LINUX/rx_kmutex.c --- openafs-1.4.4.old/src/rx/LINUX/rx_kmutex.c 2006-12-28 22:32:09.000000000 +0100 +++ openafs-1.4.4/src/rx/LINUX/rx_kmutex.c 2007-07-24 14:41:10.000000000 +0200 @@ -122,7 +122,11 @@ #if defined(STRUCT_TASK_STRUCT_HAS_TODO) !current->todo #else +#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO) test_ti_thread_flag(current->thread_info, TIF_FREEZE) +#else + test_ti_thread_flag(task_thread_info(current), TIF_FREEZE) +#endif #endif #endif ) diff -urN openafs-1.4.4.old/src/rx/LINUX/rx_knet.c openafs-1.4.4/src/rx/LINUX/rx_knet.c --- openafs-1.4.4.old/src/rx/LINUX/rx_knet.c 2007-02-26 18:59:21.000000000 +0100 +++ openafs-1.4.4/src/rx/LINUX/rx_knet.c 2007-07-24 14:41:10.000000000 +0200 @@ -173,7 +173,11 @@ #if defined(STRUCT_TASK_STRUCT_HAS_TODO) !current->todo #else +#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO) test_ti_thread_flag(current->thread_info, TIF_FREEZE) +#else + test_ti_thread_flag(task_thread_info(current), TIF_FREEZE) +#endif #endif #endif )