xfs: use ->t_dfops in reflink cow recover path
Use ->t_dfops of the leftover COW reservation cleanup transaction. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-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>
This commit is contained in:
Родитель
27356a063a
Коммит
d5669ed581
|
@ -1692,18 +1692,19 @@ xfs_refcount_recover_cow_leftovers(
|
|||
|
||||
/* Free the orphan record */
|
||||
xfs_defer_init(&dfops, &fsb);
|
||||
tp->t_dfops = &dfops;
|
||||
agbno = rr->rr_rrec.rc_startblock - XFS_REFC_COW_START;
|
||||
fsb = XFS_AGB_TO_FSB(mp, agno, agbno);
|
||||
error = xfs_refcount_free_cow_extent(mp, &dfops, fsb,
|
||||
error = xfs_refcount_free_cow_extent(mp, tp->t_dfops, fsb,
|
||||
rr->rr_rrec.rc_blockcount);
|
||||
if (error)
|
||||
goto out_defer;
|
||||
|
||||
/* Free the block. */
|
||||
xfs_bmap_add_free(mp, &dfops, fsb,
|
||||
xfs_bmap_add_free(mp, tp->t_dfops, fsb,
|
||||
rr->rr_rrec.rc_blockcount, NULL);
|
||||
|
||||
error = xfs_defer_finish(&tp, &dfops);
|
||||
error = xfs_defer_finish(&tp, tp->t_dfops);
|
||||
if (error)
|
||||
goto out_defer;
|
||||
|
||||
|
@ -1717,7 +1718,7 @@ xfs_refcount_recover_cow_leftovers(
|
|||
|
||||
return error;
|
||||
out_defer:
|
||||
xfs_defer_cancel(&dfops);
|
||||
xfs_defer_cancel(tp->t_dfops);
|
||||
out_trans:
|
||||
xfs_trans_cancel(tp);
|
||||
out_free:
|
||||
|
|
Загрузка…
Ссылка в новой задаче