xref: /freebsd-src/sys/contrib/openzfs/config/kernel-pagemap-folio_wait_bit.m4 (revision e3aa18ad71782a73d3dd9dd3d526bbd2b607ca16)
1681ce946SMartin Matuskadnl #
2681ce946SMartin Matuskadnl # Linux 5.16 no longer allows directly calling wait_on_page_bit, and
3681ce946SMartin Matuskadnl # instead requires you to call folio-specific functions. In this case,
4681ce946SMartin Matuskadnl # wait_on_page_bit(pg, PG_writeback) becomes
5681ce946SMartin Matuskadnl # folio_wait_bit(pg, PG_writeback)
6681ce946SMartin Matuskadnl #
7681ce946SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SRC_PAGEMAP_FOLIO_WAIT_BIT], [
8681ce946SMartin Matuska	ZFS_LINUX_TEST_SRC([pagemap_has_folio_wait_bit], [
9681ce946SMartin Matuska		#include <linux/pagemap.h>
10681ce946SMartin Matuska	],[
11681ce946SMartin Matuska		static struct folio *f = NULL;
12681ce946SMartin Matuska
13681ce946SMartin Matuska		folio_wait_bit(f, PG_writeback);
14681ce946SMartin Matuska	])
15681ce946SMartin Matuska])
16681ce946SMartin Matuska
17681ce946SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_PAGEMAP_FOLIO_WAIT_BIT], [
18*e3aa18adSMartin Matuska	AC_MSG_CHECKING([whether folio_wait_bit() exists])
19681ce946SMartin Matuska	ZFS_LINUX_TEST_RESULT([pagemap_has_folio_wait_bit], [
20681ce946SMartin Matuska		AC_MSG_RESULT([yes])
21681ce946SMartin Matuska		AC_DEFINE(HAVE_PAGEMAP_FOLIO_WAIT_BIT, 1,
22681ce946SMartin Matuska			[folio_wait_bit() exists])
23681ce946SMartin Matuska	],[
24681ce946SMartin Matuska		AC_MSG_RESULT([no])
25681ce946SMartin Matuska	])
26681ce946SMartin Matuska])
27