You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

47 lines
1.3 KiB

diff --git a/file.c b/file.c
index 105e41c..98d5204 100644
--- a/file.c
+++ b/file.c
@@ -625,6 +625,9 @@ static int antfs_readpages(struct file *file, struct address_space *mapping,
unsigned page_idx = nr_pages;
pgoff_t page_idx_to_init;
bool do_init_page = false;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
+ DEFINE_READAHEAD(rac, file, mapping, 0);
+#endif
if (page_offs & (buffer_len - 1)) {
/* If initialized size is not on buffer boundary, walk
@@ -660,8 +663,13 @@ static int antfs_readpages(struct file *file, struct address_space *mapping,
}
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
+ mpage_readahead(&rac, antfs_get_block);
+ err = 0;
+#else
err = mpage_readpages(mapping, pages, nr_pages,
antfs_get_block);
+#endif
if (!err && do_init_page) {
/* Initialize stuff past initialized_size with zero. */
page = grab_cache_page(mapping, page_idx_to_init);
diff --git a/libntfs-3g/misc.c b/libntfs-3g/misc.c
index b3ec53a..c5a94de 100644
--- a/libntfs-3g/misc.c
+++ b/libntfs-3g/misc.c
@@ -38,7 +38,11 @@ void *ntfs_malloc(size_t size)
return kmalloc(size, GFP_KERNEL);
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
+ return __vmalloc(size, GFP_KERNEL);
+#else
return __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
+#endif
}
/**
--
2.30.0