void cache_readahead(struct address_space *mapping, int index) 
static void cache_readahead(struct address_space *mapping, int index) 
void cache_readahead(struct address_space *mapping, int index){	filler_t *filler = (filler_t*)mapping->a_ops->readpage;	int i, pagei;	unsigned ret = 0;	unsigned long end_index;	struct page *page;	LIST_HEAD(page_pool);	struct inode *inode = mapping->host;	loff_t isize = i_size_read(inode);	if (!isize) {		INFO("iSize=0 in cache_readahead\n");		return;	}	end_index = ((isize - 1) >> PAGE_CACHE_SHIFT);	read_lock_irq(&mapping->tree_lock);	for (i = 0; i < PAGE_READAHEAD; i++) {		pagei = index + i;		if (pagei > end_index) {			INFO("Overrun end of disk in cache readahead\n");			break;		}		page = radix_tree_lookup(&mapping->page_tree, pagei);		if (page && (!i))			break;		if (page)			continue;		read_unlock_irq(&mapping->tree_lock);		page = page_cache_alloc_cold(mapping);		read_lock_irq(&mapping->tree_lock);		if (!page)			break;		page->index = pagei;		list_add(&page->lru, &page_pool);		ret++;	}	read_unlock_irq(&mapping->tree_lock);	if (ret)		read_cache_pages(mapping, &page_pool, filler, NULL);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/2b9175c174b83b8d97db9398efe948fa9092938f/block2mtd.c/buggy/drivers/mtd/devices/block2mtd.c