mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:02:20 +00:00
xfs: use kfree_rcu_mightsleep to free the perag structures
Using the kfree_rcu_mightsleep is simpler and removes the need for a rcu_head in the perag structure. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
This commit is contained in:
parent
70045dafdf
commit
4ef7c6d39d
@ -235,16 +235,6 @@ out:
|
||||
return error;
|
||||
}
|
||||
|
||||
STATIC void
|
||||
__xfs_free_perag(
|
||||
struct rcu_head *head)
|
||||
{
|
||||
struct xfs_perag *pag = container_of(head, struct xfs_perag, rcu_head);
|
||||
|
||||
ASSERT(!delayed_work_pending(&pag->pag_blockgc_work));
|
||||
kfree(pag);
|
||||
}
|
||||
|
||||
/*
|
||||
* Free up the per-ag resources associated with the mount structure.
|
||||
*/
|
||||
@ -270,7 +260,7 @@ xfs_free_perag(
|
||||
xfs_perag_rele(pag);
|
||||
XFS_IS_CORRUPT(pag->pag_mount,
|
||||
atomic_read(&pag->pag_active_ref) != 0);
|
||||
call_rcu(&pag->rcu_head, __xfs_free_perag);
|
||||
kfree_rcu_mightsleep(pag);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -63,9 +63,6 @@ struct xfs_perag {
|
||||
/* Blocks reserved for the reverse mapping btree. */
|
||||
struct xfs_ag_resv pag_rmapbt_resv;
|
||||
|
||||
/* for rcu-safe freeing */
|
||||
struct rcu_head rcu_head;
|
||||
|
||||
/* Precalculated geometry info */
|
||||
xfs_agblock_t block_count;
|
||||
xfs_agblock_t min_block;
|
||||
|
Loading…
Reference in New Issue
Block a user