])
#
+# LC_HEADER_LDISKFS_XATTR
+#
+# CHAOS kernel-devel package will not include fs/ldiskfs/xattr.h
+#
+AC_DEFUN([LC_HEADER_LDISKFS_XATTR],
+[AC_MSG_CHECKING([if ldiskfs has xattr.h header])
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-I$LINUX/fs -I$LDISKFS_DIR -I$LDISKFS_DIR/ldiskfs"
+LB_LINUX_TRY_COMPILE([
+ #include <ldiskfs/xattr.h>
+],[
+ ldiskfs_xattr_get(NULL, 0, "", NULL, 0);
+ ldiskfs_xattr_set_handle(NULL, NULL, 0, "", NULL, 0, 0);
+
+],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_LDISKFS_XATTR_H, 1, [ldiskfs/xattr.h found])
+],[
+ AC_MSG_RESULT([no])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+])
+
+#
# LC_CONFIG_HEALTH_CHECK_WRITE
#
# Turn off the actual write to the disk
LC_EXPORT___D_MOVE
LC_EXPORT_NODE_TO_CPUMASK
+ LC_HEADER_LDISKFS_XATTR
LC_FUNC_GRAB_CACHE_PAGE_NOWAIT_GFP
LC_STRUCT_STATFS
LC_FILEMAP_POPULATE
#include <linux/quota.h>
#include <linux/quotaio_v1.h>
#include <linux/quotaio_v2.h>
+#if defined(HAVE_EXT3_XATTR_H)
#include <ext3/xattr.h>
+#else
+/* ext3 xattr.h not available in rh style kernel-devel rpm */
+extern int ext3_xattr_get(struct inode *, int, const char *, void *, size_t);
+extern int ext3_xattr_set_handle(handle_t *, struct inode *, int, const char *, const void *, size_t, int);
+#endif
#include <libcfs/libcfs.h>
#include <lustre_fsfilt.h>