提交 4d4d9523 编写于 作者: E Eric Sandeen 提交者: Dave Chinner

xfs: get quota inode from mp & flags rather than dqp

Allow us to get the appropriate quota inode from any
mp & quota flags, not necessarily associated with a
particular dqp.  Needed for when we are searching for
the next active ID with quotas and we want to examine
the quota inode.
Signed-off-by: NEric Sandeen <sandeen@redhat.com>
Reviewed-by: NDave Chinner <dchinner@redhat.com>
Signed-off-by: NDave Chinner <david@fromorbit.com>
上级 a484bcdd
......@@ -464,12 +464,13 @@ xfs_qm_dqtobp(
struct xfs_bmbt_irec map;
int nmaps = 1, error;
struct xfs_buf *bp;
struct xfs_inode *quotip = xfs_dq_to_quota_inode(dqp);
struct xfs_inode *quotip;
struct xfs_mount *mp = dqp->q_mount;
xfs_dqid_t id = be32_to_cpu(dqp->q_core.d_id);
struct xfs_trans *tp = (tpp ? *tpp : NULL);
uint lock_mode;
quotip = xfs_quota_inode(dqp->q_mount, dqp->dq_flags);
dqp->q_fileoffset = (xfs_fileoff_t)id / mp->m_quotainfo->qi_dqperchunk;
lock_mode = xfs_ilock_data_map_shared(quotip);
......
......@@ -104,15 +104,15 @@ xfs_dquot_tree(
}
static inline struct xfs_inode *
xfs_dq_to_quota_inode(struct xfs_dquot *dqp)
xfs_quota_inode(xfs_mount_t *mp, uint dq_flags)
{
switch (dqp->dq_flags & XFS_DQ_ALLTYPES) {
switch (dq_flags & XFS_DQ_ALLTYPES) {
case XFS_DQ_USER:
return dqp->q_mount->m_quotainfo->qi_uquotaip;
return mp->m_quotainfo->qi_uquotaip;
case XFS_DQ_GROUP:
return dqp->q_mount->m_quotainfo->qi_gquotaip;
return mp->m_quotainfo->qi_gquotaip;
case XFS_DQ_PROJ:
return dqp->q_mount->m_quotainfo->qi_pquotaip;
return mp->m_quotainfo->qi_pquotaip;
default:
ASSERT(0);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册