quota: Remove BUG_ON from dqget()

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>
This commit is contained in:
Jan Kara 2023-10-20 13:34:08 +02:00
parent d44c576637
commit 249f374eb9

View File

@ -984,9 +984,8 @@ we_slept:
* 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);