LWN.net Logo

enable direct-to-BIO readahead for ext3

From:	 Andrew Morton <akpm@zip.com.au>
To:	 Linus Torvalds <torvalds@transmeta.com>
Subject: [patch 9/18] enable direct-to-BIO readahead for ext3
Date:	 Sun, 26 May 2002 13:43:41 -0700
Cc:	 lkml <linux-kernel@vger.kernel.org>



Turn on multipage no-buffers reads for ext3.



=====================================

--- 2.5.18/fs/ext3/inode.c~ext3-mpage-read	Sun May 26 12:37:52 2002
+++ 2.5.18-akpm/fs/ext3/inode.c	Sun May 26 12:37:52 2002
@@ -33,6 +33,7 @@
 #include <linux/quotaops.h>
 #include <linux/string.h>
 #include <linux/buffer_head.h>
+#include <linux/mpage.h>
 
 /*
  * SEARCH_FROM_ZERO forces each block allocation to search from the start
@@ -1340,9 +1341,15 @@ out_fail:
 
 static int ext3_readpage(struct file *file, struct page *page)
 {
-	return block_read_full_page(page,ext3_get_block);
+	return mpage_readpage(page, ext3_get_block);
 }
 
+static int
+ext3_readpages(struct address_space *mapping,
+		struct list_head *pages, unsigned nr_pages)
+{
+	return mpage_readpages(mapping, pages, nr_pages, ext3_get_block);
+}
 
 static int ext3_flushpage(struct page *page, unsigned long offset)
 {
@@ -1359,6 +1366,7 @@ static int ext3_releasepage(struct page 
 
 struct address_space_operations ext3_aops = {
 	readpage:	ext3_readpage,		/* BKL not held.  Don't need */
+	readpages:	ext3_readpages,		/* BKL not held.  Don't need */
 	writepage:	ext3_writepage,		/* BKL not held.  We take it */
 	sync_page:	block_sync_page,
 	prepare_write:	ext3_prepare_write,	/* BKL not held.  We take it */


-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2002, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds