]) # LC_NFS_FILLDIR_USE_CTX_RETURN_BOOL
#
+# LC_HAVE_ADD_TO_PAGE_CACHE_LOCKED
+#
+# Linux version v6.0 commit: 2bb876b58d593d7f2522ec0f41f20a74fde76822
+# filemap: Remove add_to_page_cache() and add_to_page_cache_locked()
+# add_to_page_cache_locked() no longer exported.
+#
+AC_DEFUN([LC_HAVE_ADD_TO_PAGE_CACHE_LOCKED], [
+LB_CHECK_EXPORT([add_to_page_cache_locked], [mm/filemap.c],
+ [AC_DEFINE(HAVE_ADD_TO_PAGE_CACHE_LOCKED, 1,
+ [add_to_page_cache_locked is exported by the kernel])])
+]) # LC_HAVE_ADD_TO_PAGE_CACHE_LOCKED
+
+#
# LC_HAVE_FILEMAP_GET_FOLIOS_CONTIG
#
# Linux commit v6.0-rc3-94-g35b471467f88
LC_REGISTER_SHRINKER_FORMAT_NAMED
LC_HAVE_VFS_SETXATTR_NON_CONST_VALUE
LC_HAVE_IOV_ITER_GET_PAGES_ALLOC2
+ LC_HAVE_ADD_TO_PAGE_CACHE_LOCKED
# 6.1
LC_HAVE_GET_RANDOM_U32_AND_U64
if (rc)
RETURN(rc);
if (enable)
+#ifdef HAVE_ADD_TO_PAGE_CACHE_LOCKED
cmd->u.pccc_add.pccc_flags |= PCC_DATASET_MMAP_CONV;
+#else
+ CWARN("mmap convert is not supported, ignored it.\n");
+#endif
else
cmd->u.pccc_add.pccc_flags &= ~PCC_DATASET_MMAP_CONV;
} else if (strcmp(key, PCC_CMDNAME_PROJ_QUOTA) == 0) {
static int pcc_mmap_pages_convert(struct inode *inode,
struct inode *pcc_inode)
{
+#ifdef HAVE_ADD_TO_PAGE_CACHE_LOCKED
struct pagevec pvec;
pgoff_t index = 0;
int nr_pages;
}
return rc;
+#else
+ return 0;
+#endif /* HAVE_ADD_TO_PAGE_CACHE_LOCKED */
}
static int pcc_mmap_mapping_set(struct inode *inode, struct inode *pcc_inode)