SPL_AC_CTL_NAME
SPL_AC_VMALLOC_INFO
SPL_AC_PDE_DATA
- SPL_AC_KMALLOC_NODE
SPL_AC_INODE_I_MUTEX
SPL_AC_MUTEX_OWNER
SPL_AC_MUTEX_OWNER_TASK_STRUCT
])
])
-dnl #
-dnl # 2.6.12 API change,
-dnl # check whether 'kmalloc_node()' is available.
-dnl #
-AC_DEFUN([SPL_AC_KMALLOC_NODE], [
- AC_MSG_CHECKING([whether kmalloc_node() is available])
- SPL_LINUX_TRY_COMPILE([
- #include <linux/slab.h>
- ],[
- void *a __attribute__ ((unused));
- a = kmalloc_node(1, GFP_KERNEL, 0);
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_KMALLOC_NODE, 1, [kmalloc_node() is available])
- ],[
- AC_MSG_RESULT(no)
- ])
-])
-
dnl #
dnl # 2.6.16 API change,
dnl # check whether 'struct inode' has i_mutex
static inline void *
kmalloc_node_nofail(size_t size, gfp_t flags, int node)
{
-#ifdef HAVE_KMALLOC_NODE
void *ptr;
sanitize_flags(current, &flags);
} while (ptr == NULL && (flags & __GFP_WAIT));
return ptr;
-#else
- return kmalloc_nofail(size, flags);
-#endif /* HAVE_KMALLOC_NODE */
}
static inline void *