Linux 5.16: wait_on_page_bit() no longer available to modules
[zfs.git] / config / kernel-pagemap-folio_wait_bit.m4
blobe0aaa4a57411b67c3a434dd727125f85a7827d48
1 dnl #
2 dnl # Linux 5.16 no longer allows directly calling wait_on_page_bit, and
3 dnl # instead requires you to call folio-specific functions. In this case,
4 dnl # wait_on_page_bit(pg, PG_writeback) becomes
5 dnl # folio_wait_bit(pg, PG_writeback)
6 dnl #
7 AC_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;
13                 folio_wait_bit(f, PG_writeback);
14         ])
17 AC_DEFUN([ZFS_AC_KERNEL_PAGEMAP_FOLIO_WAIT_BIT], [
18         AC_MSG_CHECKING([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         ])