/* Dynamically allocate the transaction structure from the transaction zone, initialize it, and return it to the caller.  */
xfs_trans_t* xfs_trans_alloc(xfs_mount_t *mp, uint type)
/* Dynamically allocate the transaction structure from the transaction zone, initialize it, and return it to the caller.  */
xfs_trans_t* xfs_trans_alloc(xfs_mount_t *mp, uint type)
{
	xfs_wait_for_freeze(mp, SB_FREEZE_TRANS);
	return _xfs_trans_alloc(mp, type, KM_SLEEP);
}