1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-14 10:09:48 +00:00

Do not pull quota entries of the cache-list if they have already

been removed from the cache-list as part of a previous unmount.

This would result in panics (page fault in dqflush()) during subsequent
umounts provided that enough distinct UID's to actually make the
hash do something are active.

This can probably explain a number of weird quota related behaviours.

PR:		32331 maybe more.
Reproduced by:	Søren Schrørder <sch@cybercity.dk>
This commit is contained in:
Poul-Henning Kamp 2002-01-10 15:02:57 +00:00
parent fa069a3c74
commit 9c643340bb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=89213

View File

@ -814,7 +814,8 @@ dqget(vp, id, ump, type, dqp)
if (dq->dq_cnt || (dq->dq_flags & DQ_MOD))
panic("dqget: free dquot isn't");
TAILQ_REMOVE(&dqfreelist, dq, dq_freelist);
LIST_REMOVE(dq, dq_hash);
if (dq->dq_ump != NULL)
LIST_REMOVE(dq, dq_hash);
}
/*
* Initialize the contents of the dquot structure.