

Make sure that the address_space is capable of performing the readahead
before going in and allocating the pages.



 mm/readahead.c |    3 +++
 1 files changed, 3 insertions(+)

diff -puN mm/readahead.c~handle-no-readpage-2 mm/readahead.c
--- 25/mm/readahead.c~handle-no-readpage-2	2003-06-26 17:33:07.000000000 -0700
+++ 25-akpm/mm/readahead.c	2003-06-26 17:33:07.000000000 -0700
@@ -260,6 +260,9 @@ int do_page_cache_readahead(struct addre
 {
 	int ret = 0;
 
+	if (unlikely(!mapping->a_ops->readpage && !mapping->a_ops->readpages))
+		return -EINVAL;
+
 	while (nr_to_read) {
 		int err;
 

_
