mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-12 08:09:56 +00:00
xfs: Replace macro XFS_DQUOT_TREE with a function
In preparation for combined pquota/gquota support, for the sake of readability, change the macro to an inline function. Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> Reviewed-by: Ben Myers <bpm@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
parent
9cad19d2cb
commit
329e087528
@ -804,7 +804,7 @@ xfs_qm_dqget(
|
||||
xfs_dquot_t **O_dqpp) /* OUT : locked incore dquot */
|
||||
{
|
||||
struct xfs_quotainfo *qi = mp->m_quotainfo;
|
||||
struct radix_tree_root *tree = XFS_DQUOT_TREE(qi, type);
|
||||
struct radix_tree_root *tree = xfs_dquot_tree(qi, type);
|
||||
struct xfs_dquot *dqp;
|
||||
int error;
|
||||
|
||||
|
@ -70,7 +70,7 @@ xfs_qm_dquot_walk(
|
||||
void *data)
|
||||
{
|
||||
struct xfs_quotainfo *qi = mp->m_quotainfo;
|
||||
struct radix_tree_root *tree = XFS_DQUOT_TREE(qi, type);
|
||||
struct radix_tree_root *tree = xfs_dquot_tree(qi, type);
|
||||
uint32_t next_index;
|
||||
int last_error = 0;
|
||||
int skipped;
|
||||
@ -189,7 +189,7 @@ xfs_qm_dqpurge(
|
||||
xfs_dqfunlock(dqp);
|
||||
xfs_dqunlock(dqp);
|
||||
|
||||
radix_tree_delete(XFS_DQUOT_TREE(qi, dqp->q_core.d_flags),
|
||||
radix_tree_delete(xfs_dquot_tree(qi, dqp->q_core.d_flags),
|
||||
be32_to_cpu(dqp->q_core.d_id));
|
||||
qi->qi_dquots--;
|
||||
|
||||
@ -1471,7 +1471,7 @@ xfs_qm_dqfree_one(
|
||||
struct xfs_quotainfo *qi = mp->m_quotainfo;
|
||||
|
||||
mutex_lock(&qi->qi_tree_lock);
|
||||
radix_tree_delete(XFS_DQUOT_TREE(qi, dqp->q_core.d_flags),
|
||||
radix_tree_delete(xfs_dquot_tree(qi, dqp->q_core.d_flags),
|
||||
be32_to_cpu(dqp->q_core.d_id));
|
||||
|
||||
qi->qi_dquots--;
|
||||
|
@ -69,12 +69,22 @@ typedef struct xfs_quotainfo {
|
||||
struct shrinker qi_shrinker;
|
||||
} xfs_quotainfo_t;
|
||||
|
||||
#define XFS_DQUOT_TREE(qi, type) \
|
||||
((type & XFS_DQ_USER) ? \
|
||||
&((qi)->qi_uquota_tree) : \
|
||||
&((qi)->qi_gquota_tree))
|
||||
|
||||
|
||||
static inline struct radix_tree_root *
|
||||
xfs_dquot_tree(
|
||||
struct xfs_quotainfo *qi,
|
||||
int type)
|
||||
{
|
||||
switch (type) {
|
||||
case XFS_DQ_USER:
|
||||
return &qi->qi_uquota_tree;
|
||||
case XFS_DQ_GROUP:
|
||||
case XFS_DQ_PROJ:
|
||||
return &qi->qi_gquota_tree;
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
extern int xfs_qm_calc_dquots_per_chunk(struct xfs_mount *mp,
|
||||
unsigned int nbblks);
|
||||
extern void xfs_trans_mod_dquot(xfs_trans_t *, xfs_dquot_t *, uint, long);
|
||||
|
Loading…
x
Reference in New Issue
Block a user