The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/openzfs/config/kernel-clear-inode.m4

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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_SRC_CLEAR_INODE], [
   23         ZFS_LINUX_TEST_SRC([clear_inode], [
   24                 #include <linux/fs.h>
   25         ], [
   26                 clear_inode(NULL);
   27         ])
   28 ])
   29 
   30 AC_DEFUN([ZFS_AC_KERNEL_CLEAR_INODE], [
   31         AC_MSG_CHECKING([whether clear_inode() is available])
   32         ZFS_LINUX_TEST_RESULT_SYMBOL([clear_inode],
   33             [clear_inode], [fs/inode.c], [
   34                 AC_MSG_RESULT(yes)
   35                 AC_DEFINE(HAVE_CLEAR_INODE, 1, [clear_inode() is available])
   36         ], [
   37                 AC_MSG_RESULT(no)
   38         ])
   39 ])

Cache object: 5846b564b3208f9619e1dcd120d8521f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.