quota: Remove BUG_ON from dqget()
[ Upstream commit 249f374eb9b6b969c64212dd860cc1439674c4a8 ] dqget() checks whether dquot->dq_sb is set when returning it using BUG_ON. Firstly this doesn't work as an invalidation check for quite some time (we release dquot with dq_sb set these days), secondly using BUG_ON is quite harsh. Use WARN_ON_ONCE and check whether dquot is still hashed instead. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
cac7c9fcd1
commit
c08d02053b
@@ -985,9 +985,8 @@ struct dquot *dqget(struct super_block *sb, struct kqid qid)
|
|||||||
* smp_mb__before_atomic() in dquot_acquire().
|
* smp_mb__before_atomic() in dquot_acquire().
|
||||||
*/
|
*/
|
||||||
smp_rmb();
|
smp_rmb();
|
||||||
#ifdef CONFIG_QUOTA_DEBUG
|
/* Has somebody invalidated entry under us? */
|
||||||
BUG_ON(!dquot->dq_sb); /* Has somebody invalidated entry under us? */
|
WARN_ON_ONCE(hlist_unhashed(&dquot->dq_hash));
|
||||||
#endif
|
|
||||||
out:
|
out:
|
||||||
if (empty)
|
if (empty)
|
||||||
do_destroy_dquot(empty);
|
do_destroy_dquot(empty);
|
||||||
|
|||||||
Reference in New Issue
Block a user