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_MMAP_SHARED
+ LINUX_FS_STRUCT_INODE_HAS_I_MUTEX
LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST
LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
LINUX_FS_STRUCT_INODE_HAS_INOTIFY_LOCK
#ifdef STRUCT_INODE_HAS_I_ALLOC_SEM
down_write(&inode->i_alloc_sem);
#endif
+#ifdef STRUCT_INODE_HAS_I_MUTEX
+ mutex_lock(&inode->i_mutex);
+#else
down(&inode->i_sem);
+#endif
newattrs.ia_size = asize;
newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME;
#if defined(AFS_LINUX24_ENV)
}
#endif
code = -code;
+#ifdef STRUCT_INODE_HAS_I_MUTEX
+ mutex_unlock(&inode->i_mutex);
+#else
up(&inode->i_sem);
+#endif
#ifdef STRUCT_INODE_HAS_I_ALLOC_SEM
up_write(&inode->i_alloc_sem);
#endif
AC_MSG_CHECKING(for i_devices in struct inode)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -DKBUILD_BASENAME=\"libafs\" -D__KERNEL__ $CPPFLAGS"
-AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_cdev,
+AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_devices,
[
AC_TRY_COMPILE(
[#include <linux/fs.h>],
CPPFLAGS="$save_CPPFLAGS"])
+AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_MUTEX], [
+AC_MSG_CHECKING(for i_mutex in struct inode)
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -DKBUILD_BASENAME=\"libafs\" -D__KERNEL__ $CPPFLAGS"
+AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_mutex,
+[
+AC_TRY_COMPILE(
+[#include <linux/fs.h>],
+[struct inode _inode;
+printf("%d\n", _inode.i_mutex);],
+ac_cv_linux_fs_struct_inode_has_i_mutex=yes,
+ac_cv_linux_fs_struct_inode_has_i_mutex=no)])
+AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mutex)
+CPPFLAGS="$save_CPPFLAGS"])
+
+
AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_SECURITY], [
AC_MSG_CHECKING(for i_security in struct inode)
save_CPPFLAGS="$CPPFLAGS"