--- 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~RD8-generic_osync_inode-mm fs/fs-writeback.c --- 25/fs/fs-writeback.c~RD8-generic_osync_inode-mm 2004-01-07 19:06:02.000000000 -0800 +++ 25-akpm/fs/fs-writeback.c 2004-01-07 19:06:02.000000000 -0800 @@ -514,7 +514,7 @@ EXPORT_SYMBOL(write_inode_now); * 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; @@ -522,14 +522,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~RD8-generic_osync_inode-mm fs/reiserfs/file.c --- 25/fs/reiserfs/file.c~RD8-generic_osync_inode-mm 2004-01-07 19:06:02.000000000 -0800 +++ 25-akpm/fs/reiserfs/file.c 2004-01-07 19:06:02.000000000 -0800 @@ -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~RD8-generic_osync_inode-mm include/linux/buffer_head.h --- 25/include/linux/buffer_head.h~RD8-generic_osync_inode-mm 2004-01-07 19:06:02.000000000 -0800 +++ 25-akpm/include/linux/buffer_head.h 2004-01-07 19:06:02.000000000 -0800 @@ -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~RD8-generic_osync_inode-mm mm/filemap.c --- 25/mm/filemap.c~RD8-generic_osync_inode-mm 2004-01-07 19:06:02.000000000 -0800 +++ 25-akpm/mm/filemap.c 2004-01-07 19:06:02.000000000 -0800 @@ -1798,7 +1798,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; @@ -1886,7 +1886,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); } _