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-vfs-set_page_dirty.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 # Linux 5.14 adds a change to require set_page_dirty to be manually
    3 dnl # wired up in struct address_space_operations. Determine if this needs
    4 dnl # to be done. This patch set also introduced __set_page_dirty_nobuffers
    5 dnl # declaration in linux/pagemap.h, so these tests look for the presence
    6 dnl # of that function to tell the compiler to assign set_page_dirty in
    7 dnl # module/os/linux/zfs/zpl_file.c
    8 dnl #
    9 AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_SET_PAGE_DIRTY_NOBUFFERS], [
   10         ZFS_LINUX_TEST_SRC([vfs_has_set_page_dirty_nobuffers], [
   11                 #include <linux/pagemap.h>
   12                 #include <linux/fs.h>
   13 
   14                 static const struct address_space_operations
   15                     aops __attribute__ ((unused)) = {
   16                         .set_page_dirty = __set_page_dirty_nobuffers,
   17                 };
   18         ],[])
   19 ])
   20 
   21 AC_DEFUN([ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS], [
   22         dnl #
   23         dnl # Linux 5.14 change requires set_page_dirty() to be assigned
   24         dnl # in address_space_operations()
   25         dnl #
   26         AC_MSG_CHECKING([whether __set_page_dirty_nobuffers exists])
   27         ZFS_LINUX_TEST_RESULT([vfs_has_set_page_dirty_nobuffers], [
   28                 AC_MSG_RESULT([yes])
   29                 AC_DEFINE(HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS, 1,
   30                         [__set_page_dirty_nobuffers exists])
   31         ],[
   32                 AC_MSG_RESULT([no])
   33         ])
   34 ])

Cache object: cc5fc7cdfc126c4a69d8340c6215f1e6


[ 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.