Now remove address_space.io_pages.


---

 25-akpm/fs/inode.c         |    1 -
 25-akpm/fs/mpage.c         |    8 +++-----
 25-akpm/include/linux/fs.h |    1 -
 25-akpm/mm/swap_state.c    |    1 -
 25-akpm/mm/truncate.c      |    1 -
 fs/direct-io.c             |    0 
 6 files changed, 3 insertions(+), 9 deletions(-)

diff -puN fs/direct-io.c~stop-using-io-pages fs/direct-io.c
diff -puN fs/inode.c~stop-using-io-pages fs/inode.c
--- 25/fs/inode.c~stop-using-io-pages	2004-03-14 14:25:22.690986080 -0800
+++ 25-akpm/fs/inode.c	2004-03-14 14:25:22.698984864 -0800
@@ -178,7 +178,6 @@ void inode_init_once(struct inode *inode
 	INIT_HLIST_NODE(&inode->i_hash);
 	INIT_LIST_HEAD(&inode->i_data.clean_pages);
 	INIT_LIST_HEAD(&inode->i_data.locked_pages);
-	INIT_LIST_HEAD(&inode->i_data.io_pages);
 	INIT_LIST_HEAD(&inode->i_dentry);
 	INIT_LIST_HEAD(&inode->i_devices);
 	sema_init(&inode->i_sem, 1);
diff -puN fs/mpage.c~stop-using-io-pages fs/mpage.c
--- 25/fs/mpage.c~stop-using-io-pages	2004-03-14 14:25:22.691985928 -0800
+++ 25-akpm/fs/mpage.c	2004-03-14 14:25:22.699984712 -0800
@@ -589,15 +589,13 @@ out:
  * This is a library function, which implements the writepages()
  * address_space_operation.
  *
- * (The next two paragraphs refer to code which isn't here yet, but they
- *  explain the presence of address_space.io_pages)
- *
  * If a page is already under I/O, generic_writepages() skips it, even
  * if it's dirty.  This is desirable behaviour for memory-cleaning writeback,
  * but it is INCORRECT for data-integrity system calls such as fsync().  fsync()
  * and msync() need to guarantee that all the data which was dirty at the time
- * the call was made get new I/O started against them.  So if called_for_sync()
- * is true, we must wait for existing IO to complete.
+ * the call was made get new I/O started against them.  If wbc->sync_mode is
+ * WB_SYNC_ALL then we were called for data integrity and we must wait for
+ * existing IO to complete.
  */
 int
 mpage_writepages(struct address_space *mapping,
diff -puN mm/swap_state.c~stop-using-io-pages mm/swap_state.c
--- 25/mm/swap_state.c~stop-using-io-pages	2004-03-14 14:25:22.693985624 -0800
+++ 25-akpm/mm/swap_state.c	2004-03-14 14:25:22.700984560 -0800
@@ -28,7 +28,6 @@ struct address_space swapper_space = {
 	.page_tree	= RADIX_TREE_INIT(GFP_ATOMIC),
 	.tree_lock	= SPIN_LOCK_UNLOCKED,
 	.clean_pages	= LIST_HEAD_INIT(swapper_space.clean_pages),
-	.io_pages	= LIST_HEAD_INIT(swapper_space.io_pages),
 	.locked_pages	= LIST_HEAD_INIT(swapper_space.locked_pages),
 	.a_ops		= &swap_aops,
 	.backing_dev_info = &swap_backing_dev_info,
diff -puN mm/truncate.c~stop-using-io-pages mm/truncate.c
--- 25/mm/truncate.c~stop-using-io-pages	2004-03-14 14:25:22.694985472 -0800
+++ 25-akpm/mm/truncate.c	2004-03-14 14:25:22.700984560 -0800
@@ -179,7 +179,6 @@ void truncate_inode_pages(struct address
 		WARN_ON(mapping->nrpages);
 		WARN_ON(!list_empty(&mapping->clean_pages));
 		WARN_ON(!list_empty(&mapping->locked_pages));
-		WARN_ON(!list_empty(&mapping->io_pages));
 	}
 }
 
diff -puN include/linux/fs.h~stop-using-io-pages include/linux/fs.h
--- 25/include/linux/fs.h~stop-using-io-pages	2004-03-14 14:25:22.696985168 -0800
+++ 25-akpm/include/linux/fs.h	2004-03-14 14:25:22.702984256 -0800
@@ -328,7 +328,6 @@ struct address_space {
 	spinlock_t		tree_lock;	/* and spinlock protecting it */
 	struct list_head	clean_pages;	/* list of clean pages */
 	struct list_head	locked_pages;	/* list of locked pages */
-	struct list_head	io_pages;	/* being prepared for I/O */
 	unsigned long		nrpages;	/* number of total pages */
 	struct address_space_operations *a_ops;	/* methods */
 	struct list_head	i_mmap;		/* list of private mappings */

_