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-put-link.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 # Supported symlink APIs
    3 dnl #
    4 AC_DEFUN([ZFS_AC_KERNEL_SRC_PUT_LINK], [
    5         ZFS_LINUX_TEST_SRC([put_link_cookie], [
    6                 #include <linux/fs.h>
    7                 void put_link(struct inode *ip, void *cookie)
    8                     { return; }
    9                 static struct inode_operations
   10                     iops __attribute__ ((unused)) = {
   11                         .put_link = put_link,
   12                 };
   13         ],[])
   14 
   15         ZFS_LINUX_TEST_SRC([put_link_nameidata], [
   16                 #include <linux/fs.h>
   17                 void put_link(struct dentry *de, struct
   18                     nameidata *nd, void *ptr) { return; }
   19                 static struct inode_operations
   20                     iops __attribute__ ((unused)) = {
   21                         .put_link = put_link,
   22                 };
   23         ],[])
   24 ])
   25 
   26 AC_DEFUN([ZFS_AC_KERNEL_PUT_LINK], [
   27         dnl #
   28         dnl # 4.5 API change
   29         dnl # get_link() uses delayed done, there is no put_link() interface.
   30         dnl # This check initially uses the inode_operations_get_link result
   31         dnl #
   32         ZFS_LINUX_TEST_RESULT([inode_operations_get_link], [
   33                 AC_DEFINE(HAVE_PUT_LINK_DELAYED, 1, [iops->put_link() delayed])
   34         ],[
   35                 dnl #
   36                 dnl # 4.2 API change
   37                 dnl # This kernel retired the nameidata structure.
   38                 dnl #
   39                 AC_MSG_CHECKING([whether iops->put_link() passes cookie])
   40                 ZFS_LINUX_TEST_RESULT([put_link_cookie], [
   41                         AC_MSG_RESULT(yes)
   42                         AC_DEFINE(HAVE_PUT_LINK_COOKIE, 1,
   43                             [iops->put_link() cookie])
   44                 ],[
   45                         AC_MSG_RESULT(no)
   46 
   47                         dnl #
   48                         dnl # 2.6.32 API
   49                         dnl #
   50                         AC_MSG_CHECKING(
   51                             [whether iops->put_link() passes nameidata])
   52                         ZFS_LINUX_TEST_RESULT([put_link_nameidata], [
   53                                 AC_MSG_RESULT(yes)
   54                                 AC_DEFINE(HAVE_PUT_LINK_NAMEIDATA, 1,
   55                                     [iops->put_link() nameidata])
   56                         ],[
   57                                 ZFS_LINUX_TEST_ERROR([put_link])
   58                         ])
   59                 ])
   60         ])
   61 ])

Cache object: 638b0f92c3bdb01fd3eee733dcc27c57


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