[PATCH 4/5] dax: use sb_issue_zerout instead of calling dax_clear_sectors
Christoph Hellwig
hch at infradead.org
Fri Mar 25 05:44:18 CDT 2016
On Thu, Mar 24, 2016 at 05:17:29PM -0600, Vishal Verma wrote:
> @@ -72,16 +72,7 @@ xfs_zero_extent(
> struct xfs_mount *mp = ip->i_mount;
> xfs_daddr_t sector = xfs_fsb_to_db(ip, start_fsb);
> sector_t block = XFS_BB_TO_FSBT(mp, sector);
> - ssize_t size = XFS_FSB_TO_B(mp, count_fsb);
>
> - if (IS_DAX(VFS_I(ip)))
> - return dax_clear_sectors(xfs_find_bdev_for_inode(VFS_I(ip)),
> - sector, size);
> -
> - /*
> - * let the block layer decide on the fastest method of
> - * implementing the zeroing.
> - */
> return sb_issue_zeroout(mp->m_super, block, count_fsb, GFP_NOFS);
While not new: using sb_issue_zeroout in XFS is wrong as it doesn't
account for the RT device. We need the xfs_find_bdev_for_inode and
call blkdev_issue_zeroout directly with the bdev it returned.
More information about the xfs
mailing list