Thread (5 messages) 5 messages, 2 authors, 2016-08-25

Re: [PATCH] mm: silently skip readahead for DAX inodes

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2016-08-24 20:42:16
Also in: lkml, nvdimm, stable

On Wed, 24 Aug 2016 14:37:12 -0600 Ross Zwisler [off-list ref] wrote:
quoted hunk ↗ jump to hunk
For DAX inodes we need to be careful to never have page cache pages in the
mapping->page_tree.  This radix tree should be composed only of DAX
exceptional entries and zero pages.

ltp's readahead02 test was triggering a warning because we were trying to
insert a DAX exceptional entry but found that a page cache page had already
been inserted into the tree.  This page was being inserted into the radix
tree in response to a readahead(2) call.

Readahead doesn't make sense for DAX inodes, but we don't want it to report
a failure either.  Instead, we just return success and don't do any work.
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -8,6 +8,7 @@
  */
 
 #include <linux/kernel.h>
+#include <linux/dax.h>
 #include <linux/gfp.h>
 #include <linux/export.h>
 #include <linux/blkdev.h>
@@ -544,6 +545,9 @@ do_readahead(struct address_space *mapping, struct file *filp,
 	if (!mapping || !mapping->a_ops)
 		return -EINVAL;
 
+	if (dax_mapping(mapping))
+		return 0;
+
Please don't force readers to go spend minutes putzing around in the
git tree trying to understand your code.
/* these things considered useful! */

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help