Add -p switch to "zpool get"
[zfs.git] / config / kernel-clear-inode.m4
1 dnl #
2 dnl # 3.5.0 API change
3 dnl # torvalds/linux@dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430 and
4 dnl # torvalds/linux@7994e6f7254354e03028a11f98a27bd67dace9f1 reworked
5 dnl # where inode_sync_wait() is called.
6 dnl #
7 dnl # Prior to these changes it would occur in end_writeback() but due
8 dnl # to various issues (described in the above commits) it has been
9 dnl # moved to evict().   This changes the ordering is which sync occurs
10 dnl # but otherwise doesn't impact the zpl implementation.
11 dnl #
12 dnl # The major impact here is the renaming of end_writeback() to
13 dnl # clear_inode().  However, care must be taken when detecting this
14 dnl # API change because as recently as 2.6.35 there was a clear_inode()
15 dnl # function.  However, it was made obsolete by the evict_inode() API
16 dnl # change at the same time.
17 dnl #
18 dnl # Therefore, to ensure we have the correct API we only allow the
19 dnl # clear_inode() compatibility code to be defined iff the evict_inode()
20 dnl # functionality is also detected.
21 dnl #
22 AC_DEFUN([ZFS_AC_KERNEL_CLEAR_INODE],
23         [AC_MSG_CHECKING([whether clear_inode() is available])
24         ZFS_LINUX_TRY_COMPILE_SYMBOL([
25                 #include <linux/fs.h>
26         ], [
27                 clear_inode(NULL);
28         ], [clear_inode], [fs/inode.c], [
29                 AC_MSG_RESULT(yes)
30                 AC_DEFINE(HAVE_CLEAR_INODE, 1, [clear_inode() is available])
31         ], [
32                 AC_MSG_RESULT(no)
33         ])
34 ])