/* Given the logitem, this writes the corresponding dquot entry to disk asynchronously. This is called with the dquot entry securely locked; we simply get xfs_qm_dqflush() to do the work, and unlock the dquot at the end.  */
STATIC void xfs_qm_dquot_logitem_push(xfs_dq_logitem_t *logitem)
/* Given the logitem, this writes the corresponding dquot entry to disk asynchronously. This is called with the dquot entry securely locked; we simply get xfs_qm_dqflush() to do the work, and unlock the dquot at the end.  */
STATIC void xfs_qm_dquot_logitem_push(xfs_dq_logitem_t *logitem)
{
	xfs_dquot_t	*dqp;
	int		error;
	dqp = logitem->qli_dquot;
	ASSERT(XFS_DQ_IS_LOCKED(dqp));
	ASSERT(!completion_done(&dqp->q_flush));
	error = xfs_qm_dqflush(dqp, XFS_QMOPT_DELWRI);
	if (error)
		xfs_fs_cmn_err(CE_WARN, dqp->q_mount,
			"xfs_qm_dquot_logitem_push: push error %d on dqp %p",
			error, dqp);
	xfs_dqunlock(dqp);
}