#undef INODE_SETATTR_NOT_VOID
#undef STRUCT_INODE_HAS_I_BYTES
+#undef STRUCT_INODE_HAS_I_CDEV
#undef STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
/* glue for RedHat kernel bug */
if test "x$enable_kernel_module" = "xyes"; then
LINUX_FS_STRUCT_INODE_HAS_I_BYTES
LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
+ LINUX_FS_STRUCT_INODE_HAS_I_CDEV
LINUX_INODE_SETATTR_RETURN_TYPE
LINUX_NEED_RHCONFIG
LINUX_WHICH_MODULES
if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
AC_DEFINE(INODE_SETATTR_NOT_VOID)
fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_cdev" = "xyes"; then
+ AC_DEFINE(STRUCT_INODE_HAS_I_CDEV)
+ fi
if test "x$ac_cv_linux_fs_struct_inode_has_i_bytes" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_BYTES)
fi
#if defined(AFS_LINUX24_ENV)
struct pipe_inode_info *i_pipe;
struct block_device *i_bdev;
+#if defined(STRUCT_INODE_HAS_I_CDEV)
+ struct char_device *i_cdev;
+#endif
unsigned long i_dnotify_mask;
struct dnotify_struct *i_dnotify;
#endif
--- /dev/null
+AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_CDEV, [
+AC_MSG_CHECKING(for i_cdev in struct inode)
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS"
+AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_cdev,
+[
+AC_TRY_COMPILE(
+[#include <linux/fs.h>],
+[struct inode _inode;
+printf("%d\n", _inode.i_cdev);],
+ac_cv_linux_fs_struct_inode_has_i_cdev=yes,
+ac_cv_linux_fs_struct_inode_has_i_cdev=no)])
+AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_cdev)
+CPPFLAGS="$save_CPPFLAGS"])