/* Wrap around mod_dquot to account for both user and group quotas.  */
void xfs_trans_mod_dquot_byino(xfs_trans_t *tp, xfs_inode_t *ip, uint field, long delta)
/* Wrap around mod_dquot to account for both user and group quotas.  */
void xfs_trans_mod_dquot_byino(xfs_trans_t *tp, xfs_inode_t *ip, uint field, long delta)
{
	xfs_mount_t	*mp = tp->t_mountp;
	if (!XFS_IS_QUOTA_RUNNING(mp) ||
	    !XFS_IS_QUOTA_ON(mp) ||
	    ip->i_ino == mp->m_sb.sb_uquotino ||
	    ip->i_ino == mp->m_sb.sb_gquotino)
		return;
	if (tp->t_dqinfo == NULL)
		xfs_trans_alloc_dqinfo(tp);
	if (XFS_IS_UQUOTA_ON(mp) && ip->i_udquot)
		(void) xfs_trans_mod_dquot(tp, ip->i_udquot, field, delta);
	if (XFS_IS_OQUOTA_ON(mp) && ip->i_gdquot)
		(void) xfs_trans_mod_dquot(tp, ip->i_gdquot, field, delta);
}