Loading fs/xfs/linux-2.6/xfs_aops.c +30 −33 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ #include <linux/pagevec.h> #include <linux/writeback.h> STATIC void xfs_count_page_state( struct page *page, Loading @@ -68,8 +67,6 @@ xfs_count_page_state( } while ((bh = bh->b_this_page) != head); } #if defined(XFS_RW_TRACE) void xfs_page_trace( Loading Loading @@ -1095,7 +1092,7 @@ xfs_page_state_convert( */ STATIC int linvfs_writepage( xfs_vm_writepage( struct page *page, struct writeback_control *wbc) { Loading Loading @@ -1181,7 +1178,7 @@ linvfs_writepage( * free them and we should come back later via writepage. */ STATIC int linvfs_release_page( xfs_vm_release_page( struct page *page, gfp_t gfp_mask) { Loading Loading @@ -1223,7 +1220,7 @@ linvfs_release_page( } STATIC int __linvfs_get_block( __xfs_get_block( struct inode *inode, sector_t iblock, unsigned long blocks, Loading Loading @@ -1304,30 +1301,30 @@ __linvfs_get_block( } int linvfs_get_block( xfs_get_block( struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create) { return __linvfs_get_block(inode, iblock, 0, bh_result, return __xfs_get_block(inode, iblock, 0, bh_result, create, 0, BMAPI_WRITE); } STATIC int linvfs_get_blocks_direct( xfs_get_blocks_direct( struct inode *inode, sector_t iblock, unsigned long max_blocks, struct buffer_head *bh_result, int create) { return __linvfs_get_block(inode, iblock, max_blocks, bh_result, return __xfs_get_block(inode, iblock, max_blocks, bh_result, create, 1, BMAPI_WRITE|BMAPI_DIRECT); } STATIC void linvfs_end_io_direct( xfs_end_io_direct( struct kiocb *iocb, loff_t offset, ssize_t size, Loading Loading @@ -1365,7 +1362,7 @@ linvfs_end_io_direct( } STATIC ssize_t linvfs_direct_IO( xfs_vm_direct_IO( int rw, struct kiocb *iocb, const struct iovec *iov, Loading @@ -1389,8 +1386,8 @@ linvfs_direct_IO( ret = blockdev_direct_IO_own_locking(rw, iocb, inode, iomap.iomap_target->bt_bdev, iov, offset, nr_segs, linvfs_get_blocks_direct, linvfs_end_io_direct); xfs_get_blocks_direct, xfs_end_io_direct); if (unlikely(ret <= 0 && iocb->private)) xfs_destroy_ioend(iocb->private); Loading @@ -1398,17 +1395,17 @@ linvfs_direct_IO( } STATIC int linvfs_prepare_write( xfs_vm_prepare_write( struct file *file, struct page *page, unsigned int from, unsigned int to) { return block_prepare_write(page, from, to, linvfs_get_block); return block_prepare_write(page, from, to, xfs_get_block); } STATIC sector_t linvfs_bmap( xfs_vm_bmap( struct address_space *mapping, sector_t block) { Loading @@ -1416,34 +1413,34 @@ linvfs_bmap( vnode_t *vp = LINVFS_GET_VP(inode); int error; vn_trace_entry(vp, "linvfs_bmap", (inst_t *)__return_address); vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); VOP_RWLOCK(vp, VRWLOCK_READ); VOP_FLUSH_PAGES(vp, (xfs_off_t)0, -1, 0, FI_REMAPF, error); VOP_RWUNLOCK(vp, VRWLOCK_READ); return generic_block_bmap(mapping, block, linvfs_get_block); return generic_block_bmap(mapping, block, xfs_get_block); } STATIC int linvfs_readpage( xfs_vm_readpage( struct file *unused, struct page *page) { return mpage_readpage(page, linvfs_get_block); return mpage_readpage(page, xfs_get_block); } STATIC int linvfs_readpages( xfs_vm_readpages( struct file *unused, struct address_space *mapping, struct list_head *pages, unsigned nr_pages) { return mpage_readpages(mapping, pages, nr_pages, linvfs_get_block); return mpage_readpages(mapping, pages, nr_pages, xfs_get_block); } STATIC int linvfs_invalidate_page( xfs_vm_invalidate_page( struct page *page, unsigned long offset) { Loading @@ -1452,16 +1449,16 @@ linvfs_invalidate_page( return block_invalidatepage(page, offset); } struct address_space_operations linvfs_aops = { .readpage = linvfs_readpage, .readpages = linvfs_readpages, .writepage = linvfs_writepage, struct address_space_operations xfs_address_space_operations = { .readpage = xfs_vm_readpage, .readpages = xfs_vm_readpages, .writepage = xfs_vm_writepage, .sync_page = block_sync_page, .releasepage = linvfs_release_page, .invalidatepage = linvfs_invalidate_page, .prepare_write = linvfs_prepare_write, .releasepage = xfs_vm_release_page, .invalidatepage = xfs_vm_invalidate_page, .prepare_write = xfs_vm_prepare_write, .commit_write = generic_commit_write, .bmap = linvfs_bmap, .direct_IO = linvfs_direct_IO, .bmap = xfs_vm_bmap, .direct_IO = xfs_vm_direct_IO, .migratepage = buffer_migrate_page, }; fs/xfs/linux-2.6/xfs_aops.h +2 −2 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ typedef struct xfs_ioend { struct work_struct io_work; /* xfsdatad work queue */ } xfs_ioend_t; extern struct address_space_operations linvfs_aops; extern int linvfs_get_block(struct inode *, sector_t, struct buffer_head *, int); extern struct address_space_operations xfs_address_space_operations; extern int xfs_get_block(struct inode *, sector_t, struct buffer_head *, int); #endif /* __XFS_IOPS_H__ */ fs/xfs/linux-2.6/xfs_iops.c +1 −1 Original line number Diff line number Diff line Loading @@ -739,7 +739,7 @@ STATIC void linvfs_truncate( struct inode *inode) { block_truncate_page(inode->i_mapping, inode->i_size, linvfs_get_block); block_truncate_page(inode->i_mapping, inode->i_size, xfs_get_block); } STATIC int Loading fs/xfs/linux-2.6/xfs_super.c +2 −2 Original line number Diff line number Diff line Loading @@ -129,7 +129,7 @@ xfs_set_inodeops( case S_IFREG: inode->i_op = &linvfs_file_inode_operations; inode->i_fop = &linvfs_file_operations; inode->i_mapping->a_ops = &linvfs_aops; inode->i_mapping->a_ops = &xfs_address_space_operations; break; case S_IFDIR: inode->i_op = &linvfs_dir_inode_operations; Loading @@ -138,7 +138,7 @@ xfs_set_inodeops( case S_IFLNK: inode->i_op = &linvfs_symlink_inode_operations; if (inode->i_blocks) inode->i_mapping->a_ops = &linvfs_aops; inode->i_mapping->a_ops = &xfs_address_space_operations; break; default: inode->i_op = &linvfs_file_inode_operations; Loading Loading
fs/xfs/linux-2.6/xfs_aops.c +30 −33 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ #include <linux/pagevec.h> #include <linux/writeback.h> STATIC void xfs_count_page_state( struct page *page, Loading @@ -68,8 +67,6 @@ xfs_count_page_state( } while ((bh = bh->b_this_page) != head); } #if defined(XFS_RW_TRACE) void xfs_page_trace( Loading Loading @@ -1095,7 +1092,7 @@ xfs_page_state_convert( */ STATIC int linvfs_writepage( xfs_vm_writepage( struct page *page, struct writeback_control *wbc) { Loading Loading @@ -1181,7 +1178,7 @@ linvfs_writepage( * free them and we should come back later via writepage. */ STATIC int linvfs_release_page( xfs_vm_release_page( struct page *page, gfp_t gfp_mask) { Loading Loading @@ -1223,7 +1220,7 @@ linvfs_release_page( } STATIC int __linvfs_get_block( __xfs_get_block( struct inode *inode, sector_t iblock, unsigned long blocks, Loading Loading @@ -1304,30 +1301,30 @@ __linvfs_get_block( } int linvfs_get_block( xfs_get_block( struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create) { return __linvfs_get_block(inode, iblock, 0, bh_result, return __xfs_get_block(inode, iblock, 0, bh_result, create, 0, BMAPI_WRITE); } STATIC int linvfs_get_blocks_direct( xfs_get_blocks_direct( struct inode *inode, sector_t iblock, unsigned long max_blocks, struct buffer_head *bh_result, int create) { return __linvfs_get_block(inode, iblock, max_blocks, bh_result, return __xfs_get_block(inode, iblock, max_blocks, bh_result, create, 1, BMAPI_WRITE|BMAPI_DIRECT); } STATIC void linvfs_end_io_direct( xfs_end_io_direct( struct kiocb *iocb, loff_t offset, ssize_t size, Loading Loading @@ -1365,7 +1362,7 @@ linvfs_end_io_direct( } STATIC ssize_t linvfs_direct_IO( xfs_vm_direct_IO( int rw, struct kiocb *iocb, const struct iovec *iov, Loading @@ -1389,8 +1386,8 @@ linvfs_direct_IO( ret = blockdev_direct_IO_own_locking(rw, iocb, inode, iomap.iomap_target->bt_bdev, iov, offset, nr_segs, linvfs_get_blocks_direct, linvfs_end_io_direct); xfs_get_blocks_direct, xfs_end_io_direct); if (unlikely(ret <= 0 && iocb->private)) xfs_destroy_ioend(iocb->private); Loading @@ -1398,17 +1395,17 @@ linvfs_direct_IO( } STATIC int linvfs_prepare_write( xfs_vm_prepare_write( struct file *file, struct page *page, unsigned int from, unsigned int to) { return block_prepare_write(page, from, to, linvfs_get_block); return block_prepare_write(page, from, to, xfs_get_block); } STATIC sector_t linvfs_bmap( xfs_vm_bmap( struct address_space *mapping, sector_t block) { Loading @@ -1416,34 +1413,34 @@ linvfs_bmap( vnode_t *vp = LINVFS_GET_VP(inode); int error; vn_trace_entry(vp, "linvfs_bmap", (inst_t *)__return_address); vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); VOP_RWLOCK(vp, VRWLOCK_READ); VOP_FLUSH_PAGES(vp, (xfs_off_t)0, -1, 0, FI_REMAPF, error); VOP_RWUNLOCK(vp, VRWLOCK_READ); return generic_block_bmap(mapping, block, linvfs_get_block); return generic_block_bmap(mapping, block, xfs_get_block); } STATIC int linvfs_readpage( xfs_vm_readpage( struct file *unused, struct page *page) { return mpage_readpage(page, linvfs_get_block); return mpage_readpage(page, xfs_get_block); } STATIC int linvfs_readpages( xfs_vm_readpages( struct file *unused, struct address_space *mapping, struct list_head *pages, unsigned nr_pages) { return mpage_readpages(mapping, pages, nr_pages, linvfs_get_block); return mpage_readpages(mapping, pages, nr_pages, xfs_get_block); } STATIC int linvfs_invalidate_page( xfs_vm_invalidate_page( struct page *page, unsigned long offset) { Loading @@ -1452,16 +1449,16 @@ linvfs_invalidate_page( return block_invalidatepage(page, offset); } struct address_space_operations linvfs_aops = { .readpage = linvfs_readpage, .readpages = linvfs_readpages, .writepage = linvfs_writepage, struct address_space_operations xfs_address_space_operations = { .readpage = xfs_vm_readpage, .readpages = xfs_vm_readpages, .writepage = xfs_vm_writepage, .sync_page = block_sync_page, .releasepage = linvfs_release_page, .invalidatepage = linvfs_invalidate_page, .prepare_write = linvfs_prepare_write, .releasepage = xfs_vm_release_page, .invalidatepage = xfs_vm_invalidate_page, .prepare_write = xfs_vm_prepare_write, .commit_write = generic_commit_write, .bmap = linvfs_bmap, .direct_IO = linvfs_direct_IO, .bmap = xfs_vm_bmap, .direct_IO = xfs_vm_direct_IO, .migratepage = buffer_migrate_page, };
fs/xfs/linux-2.6/xfs_aops.h +2 −2 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ typedef struct xfs_ioend { struct work_struct io_work; /* xfsdatad work queue */ } xfs_ioend_t; extern struct address_space_operations linvfs_aops; extern int linvfs_get_block(struct inode *, sector_t, struct buffer_head *, int); extern struct address_space_operations xfs_address_space_operations; extern int xfs_get_block(struct inode *, sector_t, struct buffer_head *, int); #endif /* __XFS_IOPS_H__ */
fs/xfs/linux-2.6/xfs_iops.c +1 −1 Original line number Diff line number Diff line Loading @@ -739,7 +739,7 @@ STATIC void linvfs_truncate( struct inode *inode) { block_truncate_page(inode->i_mapping, inode->i_size, linvfs_get_block); block_truncate_page(inode->i_mapping, inode->i_size, xfs_get_block); } STATIC int Loading
fs/xfs/linux-2.6/xfs_super.c +2 −2 Original line number Diff line number Diff line Loading @@ -129,7 +129,7 @@ xfs_set_inodeops( case S_IFREG: inode->i_op = &linvfs_file_inode_operations; inode->i_fop = &linvfs_file_operations; inode->i_mapping->a_ops = &linvfs_aops; inode->i_mapping->a_ops = &xfs_address_space_operations; break; case S_IFDIR: inode->i_op = &linvfs_dir_inode_operations; Loading @@ -138,7 +138,7 @@ xfs_set_inodeops( case S_IFLNK: inode->i_op = &linvfs_symlink_inode_operations; if (inode->i_blocks) inode->i_mapping->a_ops = &linvfs_aops; inode->i_mapping->a_ops = &xfs_address_space_operations; break; default: inode->i_op = &linvfs_file_inode_operations; Loading