diff options
author | Christoph Hellwig <hch@lst.de> | 2016-11-24 11:39:50 +1100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-11-24 11:39:50 +1100 |
commit | df5ab1b5a841aecd4854b75b4c2102a9d2d1996b (patch) | |
tree | a1197ef45f69def4f1a58b4b2821180c690bca95 /fs | |
parent | 86f12ab05ffc45fa88a09110f582875fa9f07c8a (diff) | |
download | op-kernel-dev-df5ab1b5a841aecd4854b75b4c2102a9d2d1996b.zip op-kernel-dev-df5ab1b5a841aecd4854b75b4c2102a9d2d1996b.tar.gz |
xfs: use new extent lookup helpers in xfs_reflink_cancel_cow_blocks
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/xfs_reflink.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index d3cfae8..4e07da3 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -492,18 +492,15 @@ xfs_reflink_cancel_cow_blocks( xfs_fileoff_t end_fsb) { struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_COW_FORK); - struct xfs_bmbt_irec got, prev, del; + struct xfs_bmbt_irec got, del; xfs_extnum_t idx; xfs_fsblock_t firstfsb; struct xfs_defer_ops dfops; - int error = 0, eof = 0; + int error = 0; if (!xfs_is_reflink_inode(ip)) return 0; - - xfs_bmap_search_extents(ip, offset_fsb, XFS_COW_FORK, &eof, &idx, - &got, &prev); - if (eof) + if (!xfs_iext_lookup_extent(ip, ifp, offset_fsb, &idx, &got)) return 0; while (got.br_startoff < end_fsb) { @@ -546,9 +543,8 @@ xfs_reflink_cancel_cow_blocks( xfs_bmap_del_extent_cow(ip, &idx, &got, &del); } - if (++idx >= xfs_iext_count(ifp)) + if (!xfs_iext_get_extent(ifp, ++idx, &got)) break; - xfs_bmbt_get_all(xfs_iext_get_ext(ifp, idx), &got); } /* clear tag if cow fork is emptied */ |