xref: /freebsd-src/sys/contrib/openzfs/config/kernel-vfs-read_folio.m4 (revision e3aa18ad71782a73d3dd9dd3d526bbd2b607ca16)
1*e3aa18adSMartin Matuskadnl #
2*e3aa18adSMartin Matuskadnl # Linux 5.19 uses read_folio in lieu of readpage
3*e3aa18adSMartin Matuskadnl #
4*e3aa18adSMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_READ_FOLIO], [
5*e3aa18adSMartin Matuska	ZFS_LINUX_TEST_SRC([vfs_has_read_folio], [
6*e3aa18adSMartin Matuska		#include <linux/fs.h>
7*e3aa18adSMartin Matuska
8*e3aa18adSMartin Matuska		static int
9*e3aa18adSMartin Matuska		test_read_folio(struct file *file, struct folio *folio) {
10*e3aa18adSMartin Matuska			(void) file; (void) folio;
11*e3aa18adSMartin Matuska			return (0);
12*e3aa18adSMartin Matuska		}
13*e3aa18adSMartin Matuska
14*e3aa18adSMartin Matuska		static const struct address_space_operations
15*e3aa18adSMartin Matuska		    aops __attribute__ ((unused)) = {
16*e3aa18adSMartin Matuska			.read_folio	= test_read_folio,
17*e3aa18adSMartin Matuska		};
18*e3aa18adSMartin Matuska	],[])
19*e3aa18adSMartin Matuska])
20*e3aa18adSMartin Matuska
21*e3aa18adSMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_VFS_READ_FOLIO], [
22*e3aa18adSMartin Matuska	dnl #
23*e3aa18adSMartin Matuska	dnl # Linux 5.19 uses read_folio in lieu of readpage
24*e3aa18adSMartin Matuska	dnl #
25*e3aa18adSMartin Matuska	AC_MSG_CHECKING([whether read_folio exists])
26*e3aa18adSMartin Matuska	ZFS_LINUX_TEST_RESULT([vfs_has_read_folio], [
27*e3aa18adSMartin Matuska		AC_MSG_RESULT([yes])
28*e3aa18adSMartin Matuska		AC_DEFINE(HAVE_VFS_READ_FOLIO, 1, [read_folio exists])
29*e3aa18adSMartin Matuska	],[
30*e3aa18adSMartin Matuska		AC_MSG_RESULT([no])
31*e3aa18adSMartin Matuska	])
32*e3aa18adSMartin Matuska])
33