Commit 905af726 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Darrick J. Wong
Browse files

xfs: simplify usage of the rcur local variable in xfs_rmap_finish_one



Only update rcur when we know the final *pcur value.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
[djwong: don't leave the caller with a dangling ref]
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
parent 8363b436
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -2570,7 +2570,7 @@ xfs_rmap_finish_one(
{
	struct xfs_owner_info		oinfo;
	struct xfs_mount		*mp = tp->t_mountp;
	struct xfs_btree_cur		*rcur;
	struct xfs_btree_cur		*rcur = *pcur;
	struct xfs_buf			*agbp = NULL;
	xfs_agblock_t			bno;
	bool				unwritten;
@@ -2585,7 +2585,6 @@ xfs_rmap_finish_one(
	 * If we haven't gotten a cursor or the cursor AG doesn't match
	 * the startblock, get one now.
	 */
	rcur = *pcur;
	if (rcur != NULL && rcur->bc_ag.pag != ri->ri_pag) {
		xfs_btree_del_cursor(rcur, 0);
		rcur = NULL;
@@ -2607,9 +2606,8 @@ xfs_rmap_finish_one(
			return -EFSCORRUPTED;
		}

		rcur = xfs_rmapbt_init_cursor(mp, tp, agbp, ri->ri_pag);
		*pcur = rcur = xfs_rmapbt_init_cursor(mp, tp, agbp, ri->ri_pag);
	}
	*pcur = rcur;

	xfs_rmap_ino_owner(&oinfo, ri->ri_owner, ri->ri_whichfork,
			ri->ri_bmap.br_startoff);