mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
b052035990
Linux page migration code won't wait for writeback to complete unless it needs to call release_folio. Call SetPagePrivate wherever PageUptodate is set and define .release_folio, to cause fallback_migrate_folio to wait for us. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: tstabrawa <59430211+tstabrawa@users.noreply.github.com> Closes #15140 Closes #16568
33 lines
793 B
Plaintext
33 lines
793 B
Plaintext
dnl #
|
|
dnl # Linux 5.19 uses release_folio in lieu of releasepage
|
|
dnl #
|
|
AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_RELEASE_FOLIO], [
|
|
ZFS_LINUX_TEST_SRC([vfs_has_release_folio], [
|
|
#include <linux/fs.h>
|
|
|
|
static bool
|
|
test_release_folio(struct folio *folio, gfp_t gfp) {
|
|
(void) folio; (void) gfp;
|
|
return (0);
|
|
}
|
|
|
|
static const struct address_space_operations
|
|
aops __attribute__ ((unused)) = {
|
|
.release_folio = test_release_folio,
|
|
};
|
|
],[])
|
|
])
|
|
|
|
AC_DEFUN([ZFS_AC_KERNEL_VFS_RELEASE_FOLIO], [
|
|
dnl #
|
|
dnl # Linux 5.19 uses release_folio in lieu of releasepage
|
|
dnl #
|
|
AC_MSG_CHECKING([whether release_folio exists])
|
|
ZFS_LINUX_TEST_RESULT([vfs_has_release_folio], [
|
|
AC_MSG_RESULT([yes])
|
|
AC_DEFINE(HAVE_VFS_RELEASE_FOLIO, 1, [release_folio exists])
|
|
],[
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
])
|