Fix O_APPEND for Linux 3.15 and older kernels
[zfs.git] / config / kernel-encode-fh-inode.m4
blob9d4ba5f0f61fc17dde2f2358592615c08ebc32c0
1 dnl #
2 dnl # 3.5.0 API change
3 dnl # torvalds/linux@b0b0382bb4904965a9e9fca77ad87514dfda0d1c changed the
4 dnl # ->encode_fh() callback to pass the child inode and its parents inode
5 dnl # rather than a dentry and a boolean saying whether we want the parent.
6 dnl #
7 AC_DEFUN([ZFS_AC_KERNEL_SRC_ENCODE_FH_WITH_INODE], [
8         ZFS_LINUX_TEST_SRC([export_operations_encode_fh], [
9                 #include <linux/exportfs.h>
10                 int encode_fh(struct inode *inode, __u32 *fh, int *max_len,
11                               struct inode *parent) { return 0; }
12                 static struct export_operations eops __attribute__ ((unused))={
13                         .encode_fh = encode_fh,
14                 };
15         ],[])
18 AC_DEFUN([ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE], [
19         AC_MSG_CHECKING([whether eops->encode_fh() wants inode])
20         ZFS_LINUX_TEST_RESULT([export_operations_encode_fh], [
21                 AC_MSG_RESULT(yes)
22                 AC_DEFINE(HAVE_ENCODE_FH_WITH_INODE, 1,
23                     [eops->encode_fh() wants child and parent inodes])
24         ],[
25                 AC_MSG_RESULT(no)
26         ])