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 -
 fs/direct-io.c             |    0 
 mm/truncate.c              |    0 
 6 files changed, 3 insertions(+), 8 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-04-03 03:00:12.877273912 -0800
+++ 25-akpm/fs/inode.c	2004-04-03 03:00:12.885272696 -0800
@@ -180,7 +180,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-04-03 03:00:12.878273760 -0800
+++ 25-akpm/fs/mpage.c	2004-04-03 03:00:12.886272544 -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-04-03 03:00:12.879273608 -0800
+++ 25-akpm/mm/swap_state.c	2004-04-03 03:00:12.887272392 -0800
@@ -27,7 +27,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
diff -puN include/linux/fs.h~stop-using-io-pages include/linux/fs.h
--- 25/include/linux/fs.h~stop-using-io-pages	2004-04-03 03:00:12.882273152 -0800
+++ 25-akpm/include/linux/fs.h	2004-04-03 03:00:12.888272240 -0800
@@ -325,7 +325,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 */

_