Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 280313
b: refs/heads/master
c: 497507b
h: refs/heads/master
i:
  280311: d219eb0
v: v3
  • Loading branch information
Christoph Hellwig authored and Ben Myers committed Dec 13, 2011
1 parent 29bb956 commit 6e6a856
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 800b484ec0262946262ad20561a8081fd31f4a6f
refs/heads/master: 497507b9ee63499d364ad7149c584285cd925dfc
25 changes: 5 additions & 20 deletions trunk/fs/xfs/xfs_dquot.c
Original file line number Diff line number Diff line change
Expand Up @@ -710,12 +710,9 @@ xfs_qm_dqlookup(
xfs_dquot_t **O_dqpp)
{
xfs_dquot_t *dqp;
uint flist_locked;

ASSERT(mutex_is_locked(&qh->qh_lock));

flist_locked = B_FALSE;

/*
* Traverse the hashchain looking for a match
*/
Expand Down Expand Up @@ -750,31 +747,19 @@ xfs_qm_dqlookup(
xfs_dqlock(dqp);
dqp->dq_flags &= ~(XFS_DQ_WANT);
}
flist_locked = B_TRUE;
}

/*
* id couldn't have changed; we had the hashlock all
* along
*/
ASSERT(be32_to_cpu(dqp->q_core.d_id) == id);

if (flist_locked) {
if (dqp->q_nrefs != 0) {
mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
flist_locked = B_FALSE;
} else {
if (dqp->q_nrefs == 0) {
/* take it off the freelist */
trace_xfs_dqlookup_freelist(dqp);
list_del_init(&dqp->q_freelist);
xfs_Gqm->qm_dqfrlist_cnt--;
}
XFS_DQHOLD(dqp);
mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
} else {
XFS_DQHOLD(dqp);
}

XFS_DQHOLD(dqp);

if (flist_locked)
mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
/*
* move the dquot to the front of the hashchain
*/
Expand Down

0 comments on commit 6e6a856

Please sign in to comment.