|
|
@ -0,0 +1,47 @@ |
|
|
|
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 |
|
|
|
|