diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_aops.c')
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_aops.c | 25 | 
1 files changed, 14 insertions, 11 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index 5f152f60d74..28ccca98839 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c @@ -37,6 +37,7 @@  #include "xfs_error.h"  #include "xfs_rw.h"  #include "xfs_iomap.h" +#include "xfs_vnodeops.h"  #include <linux/mpage.h>  #include <linux/pagevec.h>  #include <linux/writeback.h> @@ -232,7 +233,8 @@ xfs_end_bio_unwritten(  	size_t			size = ioend->io_size;  	if (likely(!ioend->io_error)) { -		bhv_vop_bmap(vp, offset, size, BMAPI_UNWRITTEN, NULL, NULL); +		xfs_bmap(xfs_vtoi(vp), offset, size, +				BMAPI_UNWRITTEN, NULL, NULL);  		xfs_setfilesize(ioend);  	}  	xfs_destroy_ioend(ioend); @@ -305,7 +307,8 @@ xfs_map_blocks(  	bhv_vnode_t		*vp = vn_from_inode(inode);  	int			error, nmaps = 1; -	error = bhv_vop_bmap(vp, offset, count, flags, mapp, &nmaps); +	error = xfs_bmap(xfs_vtoi(vp), offset, count, +				flags, mapp, &nmaps);  	if (!error && (flags & (BMAPI_WRITE|BMAPI_ALLOCATE)))  		VMODIFY(vp);  	return -error; @@ -1323,7 +1326,6 @@ __xfs_get_blocks(  	int			direct,  	bmapi_flags_t		flags)  { -	bhv_vnode_t		*vp = vn_from_inode(inode);  	xfs_iomap_t		iomap;  	xfs_off_t		offset;  	ssize_t			size; @@ -1333,7 +1335,7 @@ __xfs_get_blocks(  	offset = (xfs_off_t)iblock << inode->i_blkbits;  	ASSERT(bh_result->b_size >= (1 << inode->i_blkbits));  	size = bh_result->b_size; -	error = bhv_vop_bmap(vp, offset, size, +	error = xfs_bmap(XFS_I(inode), offset, size,  			     create ? flags : BMAPI_READ, &iomap, &niomap);  	if (error)  		return -error; @@ -1481,13 +1483,13 @@ xfs_vm_direct_IO(  {  	struct file	*file = iocb->ki_filp;  	struct inode	*inode = file->f_mapping->host; -	bhv_vnode_t	*vp = vn_from_inode(inode);  	xfs_iomap_t	iomap;  	int		maps = 1;  	int		error;  	ssize_t		ret; -	error = bhv_vop_bmap(vp, offset, 0, BMAPI_DEVICE, &iomap, &maps); +	error = xfs_bmap(XFS_I(inode), offset, 0, +				BMAPI_DEVICE, &iomap, &maps);  	if (error)  		return -error; @@ -1528,12 +1530,13 @@ xfs_vm_bmap(  	sector_t		block)  {  	struct inode		*inode = (struct inode *)mapping->host; -	bhv_vnode_t		*vp = vn_from_inode(inode); +	struct xfs_inode	*ip = XFS_I(inode); -	vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); -	bhv_vop_rwlock(vp, VRWLOCK_READ); -	bhv_vop_flush_pages(vp, (xfs_off_t)0, -1, 0, FI_REMAPF); -	bhv_vop_rwunlock(vp, VRWLOCK_READ); +	vn_trace_entry(vn_from_inode(inode), __FUNCTION__, +			(inst_t *)__return_address); +	xfs_rwlock(ip, VRWLOCK_READ); +	xfs_flush_pages(ip, (xfs_off_t)0, -1, 0, FI_REMAPF); +	xfs_rwunlock(ip, VRWLOCK_READ);  	return generic_block_bmap(mapping, block, xfs_get_blocks);  }  |