

shmem.c and rd.c have standalone bakcing_dev_info's.


---

 25-akpm/drivers/block/rd.c          |    1 +
 25-akpm/include/linux/backing-dev.h |    1 +
 25-akpm/mm/readahead.c              |    5 ++---
 25-akpm/mm/shmem.c                  |    1 +
 4 files changed, 5 insertions(+), 3 deletions(-)

diff -puN mm/shmem.c~shmem-unplug_fn mm/shmem.c
--- 25/mm/shmem.c~shmem-unplug_fn	2004-03-14 14:35:45.893244936 -0800
+++ 25-akpm/mm/shmem.c	2004-03-14 14:35:45.899244024 -0800
@@ -133,6 +133,7 @@ static struct vm_operations_struct shmem
 static struct backing_dev_info shmem_backing_dev_info = {
 	.ra_pages	= 0,	/* No readahead */
 	.memory_backed	= 1,	/* Does not contribute to dirty memory */
+	.unplug_io_fn = default_unplug_io_fn,
 };
 
 LIST_HEAD(shmem_inodes);
diff -puN mm/readahead.c~shmem-unplug_fn mm/readahead.c
--- 25/mm/readahead.c~shmem-unplug_fn	2004-03-14 14:35:45.894244784 -0800
+++ 25-akpm/mm/readahead.c	2004-03-14 14:37:04.100355648 -0800
@@ -15,16 +15,16 @@
 #include <linux/backing-dev.h>
 #include <linux/pagevec.h>
 
-static void default_unplug_io_fn(struct backing_dev_info *bdi)
+void default_unplug_io_fn(struct backing_dev_info *bdi)
 {
 }
+EXPORT_SYMBOL(default_unplug_io_fn);
 
 struct backing_dev_info default_backing_dev_info = {
 	.ra_pages	= (VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE,
 	.state		= 0,
 	.unplug_io_fn	= default_unplug_io_fn,
 };
-
 EXPORT_SYMBOL_GPL(default_backing_dev_info);
 
 /*
@@ -37,7 +37,6 @@ file_ra_state_init(struct file_ra_state 
 	ra->ra_pages = mapping->backing_dev_info->ra_pages;
 	ra->average = ra->ra_pages / 2;
 }
-
 EXPORT_SYMBOL(file_ra_state_init);
 
 /*
diff -puN include/linux/backing-dev.h~shmem-unplug_fn include/linux/backing-dev.h
--- 25/include/linux/backing-dev.h~shmem-unplug_fn	2004-03-14 14:35:45.896244480 -0800
+++ 25-akpm/include/linux/backing-dev.h	2004-03-14 14:35:45.900243872 -0800
@@ -33,6 +33,7 @@ struct backing_dev_info {
 };
 
 extern struct backing_dev_info default_backing_dev_info;
+void default_unplug_io_fn(struct backing_dev_info *bdi);
 
 int writeback_acquire(struct backing_dev_info *bdi);
 int writeback_in_progress(struct backing_dev_info *bdi);
diff -puN drivers/block/rd.c~shmem-unplug_fn drivers/block/rd.c
--- 25/drivers/block/rd.c~shmem-unplug_fn	2004-03-14 14:36:36.273585960 -0800
+++ 25-akpm/drivers/block/rd.c	2004-03-14 14:37:06.404005440 -0800
@@ -271,6 +271,7 @@ static int rd_ioctl(struct inode *inode,
 static struct backing_dev_info rd_backing_dev_info = {
 	.ra_pages	= 0,	/* No readahead */
 	.memory_backed	= 1,	/* Does not contribute to dirty memory */
+	.unplug_io_fn = default_unplug_io_fn,
 };
 
 static int rd_open(struct inode *inode, struct file *filp)

_
