mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-28 23:24:50 +00:00
xfs: treat idx as a cursor in xfs_bmap_add_extent_hole_delay
Stop poking before and after the index and just increment or decrement it while doing our operations on it to prepare for a new extent list implementation. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
0d045540ed
commit
41d196f439
1 changed files with 5 additions and 4 deletions
|
@ -2584,7 +2584,6 @@ xfs_bmap_add_extent_hole_delay(
|
|||
* on the left and on the right.
|
||||
* Merge all three into a single extent record.
|
||||
*/
|
||||
--*idx;
|
||||
temp = left.br_blockcount + new->br_blockcount +
|
||||
right.br_blockcount;
|
||||
|
||||
|
@ -2595,9 +2594,10 @@ xfs_bmap_add_extent_hole_delay(
|
|||
oldlen);
|
||||
left.br_startblock = nullstartblock(newlen);
|
||||
left.br_blockcount = temp;
|
||||
xfs_iext_update_extent(ip, state, *idx, &left);
|
||||
|
||||
xfs_iext_remove(ip, *idx + 1, 1, state);
|
||||
xfs_iext_remove(ip, *idx, 1, state);
|
||||
--*idx;
|
||||
xfs_iext_update_extent(ip, state, *idx, &left);
|
||||
break;
|
||||
|
||||
case BMAP_LEFT_CONTIG:
|
||||
|
@ -2606,7 +2606,6 @@ xfs_bmap_add_extent_hole_delay(
|
|||
* on the left.
|
||||
* Merge the new allocation with the left neighbor.
|
||||
*/
|
||||
--*idx;
|
||||
temp = left.br_blockcount + new->br_blockcount;
|
||||
|
||||
oldlen = startblockval(left.br_startblock) +
|
||||
|
@ -2615,6 +2614,8 @@ xfs_bmap_add_extent_hole_delay(
|
|||
oldlen);
|
||||
left.br_blockcount = temp;
|
||||
left.br_startblock = nullstartblock(newlen);
|
||||
|
||||
--*idx;
|
||||
xfs_iext_update_extent(ip, state, *idx, &left);
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in a new issue