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.