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