xfs: add a xfs_inode_buftarg helper
Add a new xfs_inode_buftarg helper that gets the data I/O buftarg for a given inode. Replace the existing xfs_find_bdev_for_inode and xfs_find_daxdev_for_inode helpers with this new general one and cleanup some of the callers. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:

committed by
Darrick J. Wong

parent
25a409572b
commit
30fa529e3b
@@ -30,32 +30,6 @@ XFS_WPC(struct iomap_writepage_ctx *ctx)
|
||||
return container_of(ctx, struct xfs_writepage_ctx, ctx);
|
||||
}
|
||||
|
||||
struct block_device *
|
||||
xfs_find_bdev_for_inode(
|
||||
struct inode *inode)
|
||||
{
|
||||
struct xfs_inode *ip = XFS_I(inode);
|
||||
struct xfs_mount *mp = ip->i_mount;
|
||||
|
||||
if (XFS_IS_REALTIME_INODE(ip))
|
||||
return mp->m_rtdev_targp->bt_bdev;
|
||||
else
|
||||
return mp->m_ddev_targp->bt_bdev;
|
||||
}
|
||||
|
||||
struct dax_device *
|
||||
xfs_find_daxdev_for_inode(
|
||||
struct inode *inode)
|
||||
{
|
||||
struct xfs_inode *ip = XFS_I(inode);
|
||||
struct xfs_mount *mp = ip->i_mount;
|
||||
|
||||
if (XFS_IS_REALTIME_INODE(ip))
|
||||
return mp->m_rtdev_targp->bt_daxdev;
|
||||
else
|
||||
return mp->m_ddev_targp->bt_daxdev;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fast and loose check if this write could update the on-disk inode size.
|
||||
*/
|
||||
@@ -609,9 +583,11 @@ xfs_dax_writepages(
|
||||
struct address_space *mapping,
|
||||
struct writeback_control *wbc)
|
||||
{
|
||||
xfs_iflags_clear(XFS_I(mapping->host), XFS_ITRUNCATED);
|
||||
struct xfs_inode *ip = XFS_I(mapping->host);
|
||||
|
||||
xfs_iflags_clear(ip, XFS_ITRUNCATED);
|
||||
return dax_writeback_mapping_range(mapping,
|
||||
xfs_find_bdev_for_inode(mapping->host), wbc);
|
||||
xfs_inode_buftarg(ip)->bt_bdev, wbc);
|
||||
}
|
||||
|
||||
STATIC sector_t
|
||||
@@ -661,7 +637,7 @@ xfs_iomap_swapfile_activate(
|
||||
struct file *swap_file,
|
||||
sector_t *span)
|
||||
{
|
||||
sis->bdev = xfs_find_bdev_for_inode(file_inode(swap_file));
|
||||
sis->bdev = xfs_inode_buftarg(XFS_I(file_inode(swap_file)))->bt_bdev;
|
||||
return iomap_swapfile_activate(sis, swap_file, span,
|
||||
&xfs_read_iomap_ops);
|
||||
}
|
||||
|
Reference in New Issue
Block a user