LINUX_FS_STRUCT_FOP_HAS_FLOCK
LINUX_KERNEL_LINUX_SYSCALL_H
LINUX_KERNEL_LINUX_SEQ_FILE_H
+ LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
LINUX_KERNEL_SELINUX
LINUX_KERNEL_SOCK_CREATE
LINUX_KERNEL_PAGE_FOLLOW_LINK
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
if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then
AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
fi
+ if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
+ AC_DEFINE(POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
+ fi
if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
fi
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
* Apply upstream patch from Jeffrey Hutzelman to fix kernel module
builds on ppc64. (Closes: #427555)
+ * Apply upstream patches for Linux 2.6.22 support. (Closes: #428401)
+ * Apply upstream patch to fix the AFS /proc structure under Linux
+ 2.6.22.1 and later.
* Go back to using krb5-config. The dependency problem has now been
fixed on all platforms in the krb5 package and this is the preferred
upstream method.
- -- Russ Allbery <rra@debian.org> Mon, 04 Jun 2007 20:59:15 -0700
+ -- Russ Allbery <rra@debian.org> Tue, 12 Jun 2007 11:43:54 -0700
openafs (1.4.4.dfsg1-3) unstable; urgency=low
#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
)
#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
)
/*
* osi_sysctl.c: Linux sysctl interface to OpenAFS
*
- * $Id: osi_sysctl.c,v 1.7.2.4 2007/02/22 21:49:01 shadow Exp $
+ * $Id: osi_sysctl.c,v 1.7.2.5 2007/06/12 18:28:49 shadow Exp $
*
* Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
*/
static struct ctl_table_header *afs_sysctl = NULL;
static ctl_table afs_sysctl_table[] = {
- {1, "hm_retry_RO",
- &hm_retry_RO, sizeof(afs_int32), 0644, NULL,
- &proc_dointvec}
- ,
- {2, "hm_retry_RW",
- &hm_retry_RW, sizeof(afs_int32), 0644, NULL,
- &proc_dointvec}
- ,
- {3, "hm_retry_int",
- &hm_retry_int, sizeof(afs_int32), 0644, NULL,
- &proc_dointvec}
- ,
- {4, "GCPAGs",
- &afs_gcpags, sizeof(afs_int32), 0644, NULL,
- &proc_dointvec}
- ,
- {5, "rx_deadtime",
- &afs_rx_deadtime, sizeof(afs_int32), 0644, NULL,
- &proc_dointvec}
- ,
- {6, "bkVolPref",
- &afs_bkvolpref, sizeof(afs_int32), 0644, NULL,
- &proc_dointvec}
- ,
+ {
+ .ctl_name = 1,
+ .procname = "hm_retry_RO",
+ .data = &hm_retry_RO,
+ .maxlen = sizeof(afs_int32),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ .ctl_name = 2,
+ .procname = "hm_retry_RW",
+ .data = &hm_retry_RW,
+ .maxlen = sizeof(afs_int32),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ .ctl_name = 3,
+ .procname = "hm_retry_int",
+ .data = &hm_retry_int,
+ .maxlen = sizeof(afs_int32),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ .ctl_name = 4,
+ .procname = "GCPAGs",
+ .data = &afs_gcpags,
+ .maxlen = sizeof(afs_int32),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ .ctl_name = 5,
+ .procname = "rx_deadtime",
+ .data = &afs_rx_deadtime,
+ .maxlen = sizeof(afs_int32),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ .ctl_name = 6,
+ .procname = "bkVolPref",
+ .data = &afs_bkvolpref,
+ .maxlen = sizeof(afs_int32),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
{0}
};
static ctl_table fs_sysctl_table[] = {
- {1, "afs", NULL, 0, 0555, afs_sysctl_table},
+ {
+ .ctl_name = 1,
+ .procname = "afs",
+ .mode = 0555,
+ .child = afs_sysctl_table
+ },
{0}
};
{
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));
}
#ifdef AFS_LINUX24_ENV
if ((code == 0 || flp->fl_type == F_UNLCK) &&
(cmd == F_SETLK || cmd == F_SETLKW)) {
-#ifdef AFS_LINUX26_ENV
+#ifdef POSIX_LOCK_FILE_WAIT_ARG
+ code = posix_lock_file(fp, flp, 0);
+#else
flp->fl_flags &=~ FL_SLEEP;
code = posix_lock_file(fp, flp);
-#else
- code = posix_lock_file(fp, flp, 0);
#endif
if (code && flp->fl_type != F_UNLCK) {
struct AFS_FLOCK flock2;
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 <linux/sched.h>],
+[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], [
AC_MSG_RESULT($ac_cv_linux_fs_struct_super_has_alloc_inode)])
+AC_DEFUN([LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG], [
+ AC_MSG_CHECKING([for 3rd argument in posix_lock_file found in new kernels])
+ AC_CACHE_VAL([ac_cv_linux_kernel_posix_lock_file_wait_arg], [
+ AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[posix_lock_file(0,0,0);],
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=yes,
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=no)])
+ AC_MSG_RESULT($ac_cv_linux_kernel_posix_lock_file_wait_arg)])
+
+
AC_DEFUN([LINUX_KERNEL_SOCK_CREATE], [
AC_MSG_CHECKING([for 5th argument in sock_create found in some SELinux kernels])
AC_CACHE_VAL([ac_cv_linux_kernel_sock_create_v], [
#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
)
#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
)