xfs: don't rely on extent indices in xfs_bmap_collapse_extents
authorChristoph Hellwig <hch@lst.de>
Thu, 19 Oct 2017 18:08:51 +0000 (11:08 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Thu, 26 Oct 2017 22:38:28 +0000 (15:38 -0700)
commit40591bdbccc47661050d98200ab65e77fa2324bd
treed6669d9f9f19c02b8c0ecc4e4a536713450d0492
parent11f75b3bbad57998d1af99391ec3a8e076ab4dd9
xfs: don't rely on extent indices in xfs_bmap_collapse_extents

Rewrite xfs_bmap_collapse_extents so that we don't rely on extent indices
except for iterating over them.  Not being able to iterate to the next
extent is a sufficient exit condition, and we don't need to do any extent
count games given that:

  a) we already flushed all delalloc extents past our start offset
     before doing the operation
  b) xfs_iext_count() includes delalloc extents anyway

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>
fs/xfs/libxfs/xfs_bmap.c