fs/fs-writeback.c           |    8 ++++----
 fs/reiserfs/file.c          |    2 +-
 include/linux/buffer_head.h |    2 +-
 mm/filemap.c                |    4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff -puN fs/fs-writeback.c~RD12-generic_osync_inode-B6 fs/fs-writeback.c
--- 25/fs/fs-writeback.c~RD12-generic_osync_inode-B6	2003-10-02 01:36:08.000000000 -0700
+++ 25-akpm/fs/fs-writeback.c	2003-10-02 01:36:08.000000000 -0700
@@ -510,7 +510,7 @@ void write_inode_now(struct inode *inode
  *    OSYNC_INODE:    the inode itself
  */
 
-int generic_osync_inode(struct inode *inode, int what)
+int generic_osync_inode(struct inode *inode, struct address_space *mapping, int what)
 {
 	int err = 0;
 	int need_write_inode_now = 0;
@@ -518,14 +518,14 @@ int generic_osync_inode(struct inode *in
 
 	current->flags |= PF_SYNCWRITE;
 	if (what & OSYNC_DATA)
-		err = filemap_fdatawrite(inode->i_mapping);
+		err = filemap_fdatawrite(mapping);
 	if (what & (OSYNC_METADATA|OSYNC_DATA)) {
-		err2 = sync_mapping_buffers(inode->i_mapping);
+		err2 = sync_mapping_buffers(mapping);
 		if (!err)
 			err = err2;
 	}
 	if (what & OSYNC_DATA) {
-		err2 = filemap_fdatawait(inode->i_mapping);
+		err2 = filemap_fdatawait(mapping);
 		if (!err)
 			err = err2;
 	}
diff -puN fs/reiserfs/file.c~RD12-generic_osync_inode-B6 fs/reiserfs/file.c
--- 25/fs/reiserfs/file.c~RD12-generic_osync_inode-B6	2003-10-02 01:36:08.000000000 -0700
+++ 25-akpm/fs/reiserfs/file.c	2003-10-02 01:36:08.000000000 -0700
@@ -1179,7 +1179,7 @@ ssize_t reiserfs_file_write( struct file
     }
 
     if ((file->f_flags & O_SYNC) || IS_SYNC(inode))
-	res = generic_osync_inode(inode, OSYNC_METADATA|OSYNC_DATA);
+	res = generic_osync_inode(inode, file->f_mapping, OSYNC_METADATA|OSYNC_DATA);
 
     up(&inode->i_sem);
     return (already_written != 0)?already_written:res;
diff -puN include/linux/buffer_head.h~RD12-generic_osync_inode-B6 include/linux/buffer_head.h
--- 25/include/linux/buffer_head.h~RD12-generic_osync_inode-B6	2003-10-02 01:36:08.000000000 -0700
+++ 25-akpm/include/linux/buffer_head.h	2003-10-02 01:36:08.000000000 -0700
@@ -210,7 +210,7 @@ int nobh_truncate_page(struct address_sp
 #define OSYNC_METADATA	(1<<0)
 #define OSYNC_DATA	(1<<1)
 #define OSYNC_INODE	(1<<2)
-int generic_osync_inode(struct inode *, int);
+int generic_osync_inode(struct inode *, struct address_space *, int);
 
 
 /*
diff -puN mm/filemap.c~RD12-generic_osync_inode-B6 mm/filemap.c
--- 25/mm/filemap.c~RD12-generic_osync_inode-B6	2003-10-02 01:36:08.000000000 -0700
+++ 25-akpm/mm/filemap.c	2003-10-02 01:36:08.000000000 -0700
@@ -1770,7 +1770,7 @@ generic_file_aio_write_nolock(struct kio
 		 * of course not the data as we did direct DMA for the IO.
 		 */
 		if (written >= 0 && file->f_flags & O_SYNC)
-			status = generic_osync_inode(inode, OSYNC_METADATA);
+			status = generic_osync_inode(inode, mapping, OSYNC_METADATA);
 		if (written >= 0 && !is_sync_kiocb(iocb))
 			written = -EIOCBQUEUED;
 		goto out_status;
@@ -1858,7 +1858,7 @@ generic_file_aio_write_nolock(struct kio
 	 */
 	if (status >= 0) {
 		if ((file->f_flags & O_SYNC) || IS_SYNC(inode))
-			status = generic_osync_inode(inode,
+			status = generic_osync_inode(inode, mapping,
 					OSYNC_METADATA|OSYNC_DATA);
 	}
 	

_