mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
xfs: always defer agfl block frees
The AGFL fixup code conditionally defers block frees from the free list based on whether the current transaction has an associated xfs_defer_ops structure. Now that dfops is embedded in the transaction and the internal dfops is used unconditionally, this invariant is always true. Remove the now dead logic to check for ->t_dfops in xfs_alloc_fix_freelist() and unconditionally defer AGFL block frees. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
0f37d1780c
commit
c03edc9e49
@ -2323,15 +2323,8 @@ xfs_alloc_fix_freelist(
|
|||||||
if (error)
|
if (error)
|
||||||
goto out_agbp_relse;
|
goto out_agbp_relse;
|
||||||
|
|
||||||
/* defer agfl frees if dfops is provided */
|
/* defer agfl frees */
|
||||||
if (tp->t_dfops) {
|
xfs_defer_agfl_block(tp, args->agno, bno, &targs.oinfo);
|
||||||
xfs_defer_agfl_block(tp, args->agno, bno, &targs.oinfo);
|
|
||||||
} else {
|
|
||||||
error = xfs_free_agfl_block(tp, args->agno, bno, agbp,
|
|
||||||
&targs.oinfo);
|
|
||||||
if (error)
|
|
||||||
goto out_agbp_relse;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
targs.tp = tp;
|
targs.tp = tp;
|
||||||
|
Loading…
Reference in New Issue
Block a user