]> granicus.if.org Git - zfs/blob - config/kernel-commit-metadata.m4
Fix for ARC sysctls ignored at runtime
[zfs] / config / kernel-commit-metadata.m4
1 dnl #
2 dnl # 2.6.33 API change
3 dnl # Added eops->commit_metadata() callback to allow the underlying
4 dnl # filesystem to determine the most efficient way to commit the inode.
5 dnl # Prior to this the nfs server would issue an explicit fsync().
6 dnl #
7 AC_DEFUN([ZFS_AC_KERNEL_SRC_COMMIT_METADATA], [
8         ZFS_LINUX_TEST_SRC([export_operations_commit_metadata], [
9                 #include <linux/exportfs.h>
10                 int commit_metadata(struct inode *inode) { return 0; }
11                 static struct export_operations eops __attribute__ ((unused))={
12                         .commit_metadata = commit_metadata,
13                 };
14         ],[])
15 ])
16
17 AC_DEFUN([ZFS_AC_KERNEL_COMMIT_METADATA], [
18         AC_MSG_CHECKING([whether eops->commit_metadata() exists])
19         ZFS_LINUX_TEST_RESULT([export_operations_commit_metadata], [
20                 AC_MSG_RESULT(yes)
21                 AC_DEFINE(HAVE_COMMIT_METADATA, 1,
22                     [eops->commit_metadata() exists])
23         ],[
24                 AC_MSG_RESULT(no)
25         ])
26 ])