]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-linux26-inode-got-i-sb-list-20050204
authorChas Williams <chas@cmf.nrl.navy.mil>
Mon, 21 Feb 2005 01:12:52 +0000 (01:12 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 21 Feb 2005 01:12:52 +0000 (01:12 +0000)
another thing to do at inode initialization

acinclude.m4
src/afs/afs_vcache.c
src/cf/linux-test4.m4

index c7b1a3a81415a92380243a402eb6fe1e4dfa1bef..d035149d27b4fa932f865812a9fe22ae7b52a770 100644 (file)
@@ -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
index efc7503ab98b0df99cfeeb407ef1bdae305b8a84..a94e5e5a755ba67c327cc7f8da5bc7fbc4130fbb 100644 (file)
@@ -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
 
index 9f30becf65b3bfbf89fe606c1d6a76383f656cd0..4da0611b00a6ba12628c8f878fa79e9e0fdca62f 100644 (file)
@@ -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 <linux/fs.h>],
+[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"