1dnl #
2dnl # Linux 5.16 no longer allows directly calling wait_on_page_bit, and
3dnl # instead requires you to call folio-specific functions. In this case,
4dnl # wait_on_page_bit(pg, PG_writeback) becomes
5dnl # folio_wait_bit(pg, PG_writeback)
6dnl #
7AC_DEFUN([ZFS_AC_KERNEL_SRC_PAGEMAP_FOLIO_WAIT_BIT], [
8	ZFS_LINUX_TEST_SRC([pagemap_has_folio_wait_bit], [
9		#include <linux/pagemap.h>
10	],[
11		static struct folio *f = NULL;
12
13		folio_wait_bit(f, PG_writeback);
14	])
15])
16
17AC_DEFUN([ZFS_AC_KERNEL_PAGEMAP_FOLIO_WAIT_BIT], [
18	AC_MSG_CHECKING([whether folio_wait_bit() exists])
19	ZFS_LINUX_TEST_RESULT([pagemap_has_folio_wait_bit], [
20		AC_MSG_RESULT([yes])
21		AC_DEFINE(HAVE_PAGEMAP_FOLIO_WAIT_BIT, 1,
22			[folio_wait_bit() exists])
23	],[
24		AC_MSG_RESULT([no])
25	])
26])
27