From acf1282e3d6891b41a564cd03c3d023b036803d3 Mon Sep 17 00:00:00 2001 From: Chas Williams Date: Mon, 21 Feb 2005 01:12:52 +0000 Subject: [PATCH] STABLE14-linux26-inode-got-i-sb-list-20050204 another thing to do at inode initialization --- acinclude.m4 | 4 ++++ src/afs/afs_vcache.c | 3 +++ src/cf/linux-test4.m4 | 16 ++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index c7b1a3a81..d035149d2 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -566,6 +566,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS LINUX_FS_STRUCT_INODE_HAS_I_DEVICES + LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST LINUX_FS_STRUCT_INODE_HAS_I_SECURITY LINUX_INODE_SETATTR_RETURN_TYPE LINUX_WRITE_INODE_RETURN_TYPE @@ -680,6 +681,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security]) fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_SB_LIST, 1, [define if you struct inode has i_sb_list]) + fi if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers]) fi diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index efc7503ab..a94e5e5a7 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -952,6 +952,9 @@ restart: #endif ip->i_sb = afs_globalVFS; put_inode_on_dummy_list(ip); +#ifdef STRUCT_INODE_HAS_I_SB_LIST + list_add(&ip->i_sb_list, &ip->i_sb->s_inodes); +#endif } #endif diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index 9f30becf6..4da0611b0 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -284,6 +284,22 @@ AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_security) CPPFLAGS="$save_CPPFLAGS"]) +AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST], [ +AC_MSG_CHECKING(for i_sb_list in struct inode) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_sb_list, +[ +AC_TRY_COMPILE( +[#include ], +[struct inode _inode; +printf("%d\n", _inode.i_sb_list);], +ac_cv_linux_fs_struct_inode_has_i_sb_list=yes, +ac_cv_linux_fs_struct_inode_has_i_sb_list=no)]) +AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_sb_list) +CPPFLAGS="$save_CPPFLAGS"]) + + AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE],[ AC_MSG_CHECKING(for recalc_sigpending arg type) save_CPPFLAGS="$CPPFLAGS" -- 2.39.5